指针的运用:
int *p; p 为指向整型量的指针变量
nt *p[n]; p 为指针数组,由 n 个指向整型量的指针元素组成。
int (*p)[n]; p 为指向整型二维数组的指针变量,二维数组的列数为 n
int *p() p 为返回指针值的函数,该指针指向整型量
int (*p)() p 为指向函数的指针,该函数返回整型量
int **p p 为一个指向另一指针的指针变量,该指针指向一个整型量
阅读组合说明符的规则是“从里向外”
从标识符开始,先看它右边有无方括号或园括号,如有则先作出解释,再看左边有无*号。 如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
7642135
上面给出了由内向外的阅读顺序,下面来解释它:
(1)标识符 a 被说明为;
(2)一个指针变量,它指向;
(3)一个函数,它返回;
(4)一个指针,该指针指向;
(5)一个有 10 个元素的数组,其类型为;
(6)指针型,它指向;
(7)int 型数据。
因此 a 是一个函数指针变量,该函数返回的一个指针值又指向一个指针数组,该指针数组的元素指向整型量。