数组在内存中的存储细节:
1、数组在内存中存储单元是连续(连续存储)
2、每个元素a[0]、a[1]分别代表对应存储的数据的首地址
3、对于整型的数组来说,每个元素之间相差4个字节
char 1个字节
float 4个字节
double 8个字节
4、数组名,不是一个int类型的变量,他是一个地址(数组的首地址)
注意:int x[]={1,2} int修饰的是数组的每个元素是int类型,不是修饰x是int类型
数组的首地址 == 数组名 == 数组的第一个元素的首地址
以int x[]={1,2} 为例:
x这个数组的首地址 == x == x[0]元素的首地址
5、数组内部的各元素的地址是连续的,但是不同的数组之间的地址可以不连续。
6、计算数组的长度
长度 = 首先我们得先计算整个数组在内存中占用的存储单元 / 然后获取数组中每个元素的类型所占用的字节数
7、我们可以通过数组的名称,计算出数组每一个元素的地址。
数组名+下标*sizeof(元素的类型)
int x[3]={1,2,3}
x[2]的地址 = x + 2*sizeof(int) |
|