求一个C++的概念解释...

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:08:33
解释一下指针数组和数组指针的区别...两者分别在什么情况下用到...
一定举例说明..小女子很笨的...

我来教你吧,我讲的比较清楚
int *a[5]:这个是指针数组,也可以写成(int *)a[5],它是五个int型指针组成的数组
int (*a)[5]:这个是数组指针,相当于 int p[5],int *a=&p,它是五个int型数据组成的数组,指针a指向这个数组的首地址.

指针数组是指:这个数组中的所有成员都是指针,也就是指针的数组。
数组指针是:一个指向数组的指针。也就是数组的指针。

指针数组,首先是个数组,数组里面每一个元素都是一个指针,如:int *A[5],定义一个指针数组,共5个元素,每一个元素A[0]它本身是一个指针,这个数组中有5个指针可以用。

数组指针,是一个指针,用来指向一个数组的。如:int *p,A[5];定义了一个指针,一个数组,如果有这样的赋值,p=A,那么这个指针p就指向数组,我们称之为数组指针。我们可以用A[0]访问第一个元素,也可以用p[0]访问。

数组指针不是那么回事吧。int (*p)[9];这才是数组指针。

int a[8][9];
int (*p)[9];
p=a;

这才是数组指针的用法。