理解C语言声明的优先级规则
- 声明从它的名字开始读取,然后依次按优先级依次读取。
- 优先级从高到低依次是
-
- 声明中被括号括起来的那部分
- 后缀操作符:
- 括号()表示这是一个函数
- 方括号表[]这是一个数组
- 前缀操作符:星号*表示“指向...的指针”
- 如果const和(或)valatile关键字的后面紧跟类型说明符(如int,long等),那么它作用于类型说明符,在其他情况下,const和(或)volatile关键字作用于塔左边紧邻的指针星号。
摘自《C专家编程》
举例:
char * const *(*next)();
next是一个指针,指向一个函数,该函数返回一个指针,返回一个指向类型为char的常量指针。

浙公网安备 33010602011771号