标签:指针 学习笔记 举例 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