数组中指针p++

     在定义一个整型数组时,系统会给数组分配一个(数据类型 * 数组长度)个字节存储单元;

数组中的数据是以十六进制存放的;其中pc 小端:低地址存放小数据,高地址存放大数据;

一个整型数组的一个存储单元格是四个字节,三十二位比特,图中一个大的蓝色格子有四个小格子,

则第二个格子的地址为101,第三个格子的地址为102,第四个格子的地址为103

例如:

数组中指针p++_第1张图片

假设100是地址,则它的十六进制表示为:0x0000000a,

104也是地址,则它的十六进制表示为:0x000000a4;

因为十六进制中权重是从左到右依次减小,所以最右边的权重是最小的,

也就是说从左到右是大数据到小数据;

数组中指针p++_第2张图片

                             图.1

定义了一个整型数组,数组中存放有1,2,3,4,其余没有初始化的补0;

定义了一个整型指针变量p,把数组arr的地址赋给了p,

因为数组名就可以表示这个数组的首元素的地址,所以不用使用取地址符号&;

从图.1中我们可以看到指针变量p中的值为182282464,p++后变成了182822468,

再p++后变成了18282472,得到每次指针p++,地址会增加4个字节,即增加了一个整型的单元格,

而不是增加一个字节或增加一个整个数组的长度。

数组中指针p++_第3张图片

                           图.2

从图.2中看出,当数组类型变成字符型时,地址也是增加了一个字符类型单元格,

所以指针p++为图.3

数组中指针p++_第4张图片

你可能感兴趣的:(数组中指针p++)