- 博客(5)
- 收藏
- 关注
原创 《C与指针》数组
一维数组 数组和指针之间的区别 数组是具有确定数量的元素,而指针只是一个标量值。编译器用数组名来记住这些属性。只有当数组名在表达式中使用时,编译器才会为它产生一个指针常量 而指针常量的值是不能修改的 因此不能简单的把一个数组赋值给另一个数组,因为数组名是一个常量,无法修改。只能使用循环的方式去复制。 int a[10]; int b[10]; b = a; //这是不对的 while(int i = 0; i<10;i++){ b[i] = a[i];
2021-09-17 07:58:21 67
原创 《C与指针》指针&函数
指针 物理内存中,每一个字节都通过一个地址来标识。 为了存储更大的值,将两个或者更多个字节合在一起作为一个更大的内存单位。 不同的机器上,数据的存储方向或许不同。 一个包含了多个字节的数据类型,要注意它的地址是它最左边的位置还是最右边的位置开始。 当一个32位(字)的机器保存8位(字节)的数据,就会有24位空余下来,机器读取这个8位数据从32位的左边或者从右边开始,将会影响最终读取到的值。 变量名称和内存存储位置之间的关联是由编译器来决定的。这就意味着,不同的编译器或许会存在不同的标准。
2021-08-26 23:04:07 98
原创 《C与指针》基本概念
C的实现被划分为两种不同的环境:翻译环境和执行环境。C代码通过翻译被转换成可执行的机器指令。在执行环境中执行对应的代码。 翻译 翻译 = 编译(预处理 + 解析 + 优化) + 链接器 在编译的预处理阶段,源代码中的一些文本操作会被替代,例如 #define 和 #include 部分会被对应的代码和文件所替代。之后进行解析生成机器指令的初步形式(目标代码),在这个阶段产生绝大多数的错误和警告。最后如果代码有优化需求,优化器会对目标代码进行进一步处理,提高代码的效率。 链接器将每个目标文件链接在一起
2021-07-29 23:47:48 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人