指针获取二维数组中的首元素地址

时间:2022-12-17 06:10:24

1、数组在内存中连续分布:例如a[2][3]={{0,1,2},{3,4,5}}.在内存中的分布等价于a[2][3]={0,1,2,3,4,5}.

假设数组中的首地址为a=0x1000,则地址分别为0x1000,0x1004,0x1008,ox100c,0x1010,0x1014.

&a[0][0]为第一个元素的首地址为0x1000、a[0]是第一行的首地址也就是0x1000等价于&a[0][0]


2、&a[0][3]=a[1]为0x100c,并没有越界,第二行元素首地址。所以&a[0][4]、&a[0][5]分别为0x1010,0x1014.



3、int *p = &a[0][0]等价于int *p = a[0]