数组中指针p++
在定义一个整型数组时,系统会给数组分配一个(数据类型 * 数组长度)个字节存储单元;
数组中的数据是以十六进制存放的;其中pc 小端:低地址存放小数据,高地址存放大数据;
一个整型数组的一个存储单元格是四个字节,三十二位比特,图中一个大的蓝色格子有四个小格子,
则第二个格子的地址为101,第三个格子的地址为102,第四个格子的地址为103
例如:
假设100是地址,则它的十六进制表示为:0x0000000a,
104也是地址,则它的十六进制表示为:0x000000a4;
因为十六进制中权重是从左到右依次减小,所以最右边的权重是最小的,
也就是说从左到右是大数据到小数据;
图.1
定义了一个整型数组,数组中存放有1,2,3,4,其余没有初始化的补0;
定义了一个整型指针变量p,把数组arr的地址赋给了p,
因为数组名就可以表示这个数组的首元素的地址,所以不用使用取地址符号&;
从图.1中我们可以看到指针变量p中的值为182282464,p++后变成了182822468,
再p++后变成了18282472,得到每次指针p++,地址会增加4个字节,即增加了一个整型的单元格,
而不是增加一个字节或增加一个整个数组的长度。
图.2
从图.2中看出,当数组类型变成字符型时,地址也是增加了一个字符类型单元格,
所以指针p++为图.3