第十二天--二维数组的彻底解刨--地址

1.二维数组我们用父子的地址来称呼二维数组的地址

        比如arr[3][4]

这里的arr是二维数组的首地址,也是父数组的首地址,也是子数组的首地址

        arr+1父数组的地址偏移1,实际上是偏移了4*4=16个字节

        arr[0]是子数组的首地址,arr[0]+1是子数组偏移一位,实际上偏移了4个字节。

2.子数组的首地址可以有两种取地址的方法:

arr[0]为子数组首地址,arr[0]+1,偏移一位 

 等价于下面:

*(arr+0)为子数组的首地址,*(arr+0)+1,偏移一位。

区别:他们偏移的字节不同

#include <stdio.h>
int main()
{
	int arr[3][4]={{11,22,33,44},{55,66,77,88},{99,111,222,333}};
	printf("arr是父亲地址:%p,偏移1后是%p\n",arr,arr+1);
	printf("arr[0]是子数组地址:%p,偏移1后是&p\n",arr[0],arr[0]+1);
	printf("arr[0]是子数组地址:%p,偏移1后是&p\n",*(arr+0),*(arr+0)+1);
	
	return 0;
}

上一篇:基于单片机高压输电线路微机保护系统设计-六、 文章目录


下一篇:LVS NAT、DR、FULL-NAT 模式介绍