如何区别指针数组和数组指针?
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)借助下面的图加深理解:
例:下面到底哪个是数组指针,哪个是指针数组呢:
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语言学习笔记(6)-如何从变量声明的表面上来区分指针数组和数组指针
- 指针数组和数组指针的区别
- 指针数组与数组指针的区别
- 指针数组与数组指针区别
- 指针数组和数组指针的区别
- 指针数组和数组指针分别是如何指向二维数组的
- [置顶] 指针数组和数组指针的区别
- 指针数组和数组指针的区别
- 指针数组和数组指针的区别
- 指针数组和数组指针的区别
- 指针数组和数组指针的区别
- 指针数组和数组指针的区别
- C++ 运算符优先级 以及指针数组和数组指针的区别
- 指针数组和数组指针的区别
- 指针数组和数组指针的区别