数组名字取地址变成数组指针
1.一维数组名字取地址,变成一维数组指针,加1跳一个一维数组。
int a[10];
a+1 跳一个整型元素,是a[1]的地址
a和a+1相差一个元素,4个字节
&a 就变成了一个一位数组指针,是int(*p)[10]类型的。
(&a)+1 和 &a 相差一个数组即10个元素40个字节。
int main()
{
int a[10];
printf("a=%p\n", a);
printf("a+1=%p\n", a + 1);
printf("&a=%p\n", &a);
printf("&a+1=%p\n", &a + 1);
return 0;
}
2.二维数组
int a[4][5];
a+1跳5个整型
(&a)+1跳4行5列(80个字节)