#include<stdio.h>
int main()
{
int a[5][5]={1,3,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
int (*p)[5]; //p是一个数组指针,它指向一个数组,这个数组里面有5个元素。
p=a; // p是指向a[0][5]这个小数组的首地址,不是指向a[0][0]这个元素的首地址,所以p+1表示a[1][5]这个小数组的首地址
printf("%d\n",**(p+1)); // 6
printf("%d\n",*(*p+1)); // 3
printf("%d\n",**p+1); // 2 **p是a[0][0]
printf("%d\n",(*p)[1]); // 3 第一个数组里面的第二个元素
printf("%d\n",*p[1]); // 6 []的优先级比*高
printf("%d\n",*p); // *p是1的地址,**p才是1.
return 0;
}
浙公网安备 33010602011771号