当前位置: 首页 > wzjs >正文

长沙专业建网站公司网站增加聊天

长沙专业建网站公司,网站增加聊天,erp系统多少钱,网络营销推广形式博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x1f…

博主介绍:程序喵大人

  • 35- 资深C/C++/Rust/Android/iOS客户端开发
  • 10年大厂工作经验
  • 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
  • 《C++20高级编程》《C++23高级编程》等多本书籍著译者
  • 更多原创精品文章,首发gzh,见文末
  • 👇👇记得订阅专栏,以防走丢👇👇
    😉C++基础系列专栏
    😃C语言基础系列专栏
    🤣C++大佬养成攻略专栏
    🤓C++训练营
    👉🏻个人网站

指针是C语言中的核心概念,它提供了对内存的直接访问和控制能力。通过深入理解指针,我们肯定可以编写更高效、更灵活的程序,然后少踩坑。

指针与内存模型

指针与地址的概念

在C语言中,指针是一个变量,其存储的是另一个变量的内存地址。通过指针,我们可以直接访问和操作内存中的数据。指针变量的类型决定了它所指向的数据的类型和大小。

内存****布局与地址空间

C语言程序的内存布局通常包括代码段、数据段、堆和栈几部分。

  • 代码段存储程序的机器指令,也就是咱写的那些代码
  • 数据段存储全局变量和静态变量
  • 堆用于动态内存分配,对应mallocfree的函数调用
  • 栈则用于存储局部变量和函数调用信息。

地址空间是指程序可以访问的内存地址范围。

  • 在32位系统上,地址空间通常是4GB(或更小,取决于操作系统和硬件)。
  • 在64位系统上,地址空间要大得多。

推荐阅读:指针介绍

指针运算的深入

算术运算与指针偏移

指针可以进行算术运算,如加法、减法和自增/自减。这些运算实际上是对指针所指向的内存地址进行偏移。例如,如果**ptr**是一个指向**int**类型的指针,那么**ptr+1**将指向下一个**int**类型的数据,而不是简单地将地址加1。

指针的算术运算考虑了所指向数据类型的大小。

示例代码

#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr; // 指向数组的第一个元素// 指针算术运算printf("arr[0]: %d, *(ptr): %d\n", arr[0], *(ptr)); // 输出1printf("arr[1]: %d, *(ptr+1): %d\n", arr[1], *(ptr+1)); // 输出2return 0;
}

指针与数组的高级应用

动态数组的实现

动态数组是使用指针和动态内存分配(如mallocfree函数)来实现的(内存管理)。与静态数组相比,动态数组的大小可以在运行时确定,并且可以根据需要动态调整。

多维数组与指针

多维数组在内存中实际上是连续存储的,但可以通过指针和索引来访问,只不过是我们从逻辑层把它理解为了多维数组。

示例代码(https://godbolt.org/z/zx771M7M4

#include <stdio.h>
#include <stdlib.h>int main() {// 动态数组int n = 10;int *dynamicArr = (int *)malloc(n * sizeof(int));for (int i = 0; i < n; i++) {dynamicArr[i] = i + 1;}for (int i = 0; i < n; i++) {printf("%d ", dynamicArr[i]);}printf("\n");free(dynamicArr); // 释放动态分配的内存// 多维数组与指针int rows = 3;const int cols = 4;int (*multiDimArr)[cols] = (int (*)[cols])malloc(rows * cols * sizeof(int));for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {multiDimArr[i][j] = i * cols + j + 1;}}for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {printf("%d ", multiDimArr[i][j]);}printf("\n");}free(multiDimArr); // 释放动态分配的内存return 0;
}

输出:

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 12

指针与字符串的深入

字符串的底层表示

在C语言中,字符串实际上是一个以空字符(\0)结尾的字符数组。字符串的底层操作实际上是对字符数组的操作,而指针访问这些字符数组则很方便。

字符串处理函数与指针

C标准库提供了一系列字符串处理函数,如strlenstrcpystrcat等。这些函数通常接受指向字符串的指针作为参数,并返回指向结果字符串的指针或整数值(如字符串的长度)。

示例代码(https://godbolt.org/z/d37norMoo

#include <stdio.h>
#include <string.h>int main() {char str1[50] = "Hello, World!";char str2[50];// 使用字符串处理函数printf("Length of str1: %lu\n", strlen(str1)); // 输出字符串的长度strcpy(str2, str1); // 复制字符串printf("Copied string: %s\n", str2);strcat(str2, " - Welcome!"); // 连接字符串printf("Concatenated string: %s\n", str2);return 0;
}

通过深入理解指针,你应该可以写出更灵活健壮的程序吧。

码字不易,欢迎大家点赞关注评论,谢谢!


C++训练营

专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,已帮助多名学员获得大厂offer!


文章转载自:

http://inPLEvhj.Lyhrg.cn
http://OOrnpU6w.Lyhrg.cn
http://sUm0yfY2.Lyhrg.cn
http://1UsjMZHO.Lyhrg.cn
http://nv7MOXmt.Lyhrg.cn
http://TwmkdWMS.Lyhrg.cn
http://1HPfsnXe.Lyhrg.cn
http://6KlkbFEQ.Lyhrg.cn
http://SuRgx9bp.Lyhrg.cn
http://yhZB147v.Lyhrg.cn
http://bVFgqDy6.Lyhrg.cn
http://mtBq0gfY.Lyhrg.cn
http://1aCRsgjv.Lyhrg.cn
http://VKa4gkk5.Lyhrg.cn
http://4VcwhVDG.Lyhrg.cn
http://7Ad37GUQ.Lyhrg.cn
http://j7AWLw5A.Lyhrg.cn
http://BlNkg9Xx.Lyhrg.cn
http://FPzQkT6K.Lyhrg.cn
http://aMAKLlLj.Lyhrg.cn
http://97KWWaor.Lyhrg.cn
http://iT9qBJje.Lyhrg.cn
http://UqoZ3QQA.Lyhrg.cn
http://vXbfebDz.Lyhrg.cn
http://r5tgFBER.Lyhrg.cn
http://30lkfzF3.Lyhrg.cn
http://ixcKXzvu.Lyhrg.cn
http://SVN3pJM1.Lyhrg.cn
http://t1K07NkE.Lyhrg.cn
http://oE4m5WlZ.Lyhrg.cn
http://www.dtcms.com/wzjs/645038.html

相关文章:

  • 珠宝营销型网站wordpress内网和外网
  • win7架设asp网站自己做的砍价网站
  • 郴州网站seo外包廊坊电子商务网站建设
  • 网站设计目标 优帮云微信知彼网络网站建设
  • 做网站商城如何优化查答案的网站制作模板
  • 企业网站设计能否以黑科技网站
  • 石城县网站建设网页生成链接
  • 网站开发与设计.net网页在线小游戏
  • 知名企业网站人才招聘情况如何用户个人中心页面html源码
  • 门户网站建站合同网站开发的心得
  • 嘉盛集团官方网站wordpress 显示不全
  • 网站图片批量上传重庆铜牌制作
  • 淘宝客网站搭建教程怎么查找关键词排名
  • 网站前置审批项 教育网络公司哪家好
  • 网站如何做才可以微信直接登录各省施工备案网站
  • 网站开发前后端配比网站建设能挣钱
  • 美术馆网站建设方案书河北省建设招标网站
  • 公司淘宝网站怎么建设的更加好dede淘宝客网站
  • 网站建设 开题报告想让网站的文章都被收录怎么做
  • 网站备案被注销怎么办wordpress安装到空间
  • 网站怎么做seo步骤设计说明怎么写范文
  • 商圈外卖网站怎么做四川省的住房和城乡建设厅网站首页
  • 企业网站优化方案范本中文域名转换英文域名
  • 专业微网站建设公司首选公司焊锡外发加工网
  • 松阳县建设局网站追波设计网站
  • 合肥公司企业网站建设wordpress get_pages 输出格式
  • 沭阳网站建设哪家好长沙景点有哪些好玩
  • 泛站群wordpress 页面 菜单
  • 东营的网站建设公司北京网络营销方案
  • 什么是网站维护费河北邯郸邮政编码