int a[10];int*p=a;首先a就是一个指针,a是一个指向数组首个元素的指针,该元素的类型是整形,那么p也就和a一样了,p是一个指向类型为整形数据的指针;
int (*p)[10];首先*p就是一个拥有10个整形数据的数组(例如:将*p用a代替,a[10]很显然是数组),那么p就是一个指向数组的指针,组成该数组的元素是10个整形数据。
不知道这样了理解对不?欢迎大家拍砖。
11楼的这句“ p = A; // 获得数组内存空间”好像编译通不过吧?
p是一个指向类型为数组的指针,而A是一个指向类型为整形数据的指针,类型的不一样能赋值过去吗?
要赋值也起码需要转换下吧?
typedef int (*ap)[10]
int A[10];
int (*p)[10];
p=(ap)A;
不知道说的对不?欢迎大家拍砖。