int *a[5];
int (*b)[5];
printf("sizeof(a)=%d,sizeof(b)=%d\n",sizeof(a),sizeof(b));
printf("sizeof(*a)=%d,sizeof(*b)=%d\n",sizeof(*a),sizeof(*b));
system("PAUSE");
return 0;
}
int *a[5];因为[]比*优先级高,所以它首先是一个数组,然后该数组的元素的类型是int *,所以这是一个指针数组;
int (*a)[5];因为()是超脱于优先级之外的,所以它首先是一个指针,然后该指针指向的类型是int [5],即含有5个元素的数组,所以它是一个数组指针,如果a++,它将跨过五个整型的长度。