int arr[10];
(1)int *p = arr;
(2)int (*q)[10] = &arr;
(2)int (*q)[10] = &arr;
为什么p和q的值是一样的呢
这两个看的角度不一样.
(1)arr只是arr[0]的地址,arr+1就是arr[1]的地址了.
(2)&arr是整个arr[10]的首地址,是以整个数组为角度来看,虽然它与arr[0]的值相同,但是&arr+1就已经增加了10个int类型的字节的长度了.
为什么p和q的值是一样的呢
这两个看的角度不一样.
(1)arr只是arr[0]的地址,arr+1就是arr[1]的地址了.
(2)&arr是整个arr[10]的首地址,是以整个数组为角度来看,虽然它与arr[0]的值相同,但是&arr+1就已经增加了10个int类型的字节的长度了.