您的位置:首页 > 编程语言 > C语言/C++

如何区别指针数组和数组指针?

2017-07-14 14:34 225 查看
如何区别指针数组和数组指针?

例:下面到底哪个是数组指针,哪个是指针数组呢: 

A),int *p1[10]; 

B),int (*p2)[10];

答案:

(1)对A来说:“[]”的优先级比“*”要高。p1 先与“[]”结合,构成一个数组的定义,数组名为p1,int *修饰的是数组的内容,即数组的每个元素。那现在我们清楚,这是一个数组,其包含10个指向int 类型数据的指针,即指针数组。

(2)对于B来说:在这里“()”的优先级比“[]”高,“*”号和p2 构成一个指针的定义,指针变量名为p2,int 修饰的是数组的内容,即数组的每个元素。数组在这里并没有名字,是个匿名数组。那现在我们清楚p2 是一个指针,它指向一个包含10 个int 类型数据的数组,即数组指针。

(3)借助下面的图加深理解:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言