版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hou09tian/article/details/80926355
1 指针的数组
指针的数组指的是一个数组,该数组中的元素为指针。例如
int* A[10];
A是一个数组,该数组中包含了10个元素,每个元素的类型都是int*。
2 数组的指针
数组的指针指的是一个指针,该指针指向的内容是一个数组。例如
int*(*p)[10];
p是一个指针,该指针指向一个数组,这个数组中包含10个元素,每个元素的类型都是int*。
3 A与&A的关系
从以上分析可知,p是A的指针。即
p = &A;
如果是
p = A;
则会报错。报错的原因是,C++编译器将数组名替换为指向数组首元素的地址。即A表示的是int*的指针,而p是数组的指针,因而报错!
图1 A和&A
从图1中可以看出,A和&A的值虽然相同,但是其类型不同。
对于A和&A的区别,请参考《C++中对数组名的运算》