码迷,mamicode.com
首页 > 编程语言 > 详细

C语言学习笔记(6):如何从变量声明的表面上来区分指针数组和数组指针

时间:2017-01-22 22:27:06      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:指针   学习笔记   举例   c语言学习笔记   int   定义   优先   方式   数组指针   

举例:
int *p[5]是指针数组
int (*p)[5]是数组指针
区分两者只要看变量名p周围的修饰符即可。

 

这里要明确两点:
1、不论int *p[5]还是int (*p)[5]都不应该看成一个整体,而应该看成一些修饰符来修饰变量p,从而使p得到准确定义;
2、[]的优先级要比*高,相同优先级修饰符,采取从左向右的编译方式。

 

*p[5]由于[]优先级高所以[]先修饰变量名p,所以p是一个数组名,然后再看其它修饰符,可以发现是一个int * 类型的数组,即p为指针数组。

(*P)[5]由于()和[]两者优先级相同,所以从左向右编译,那么*先修饰p,所以p是一个指针变量,然后再看周围的其它修饰符,可以发现p为一个int数组指针。

C语言学习笔记(6):如何从变量声明的表面上来区分指针数组和数组指针

标签:指针   学习笔记   举例   c语言学习笔记   int   定义   优先   方式   数组指针   

原文地址:http://www.cnblogs.com/FrogIf/p/6341480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!