A 申明从它的名字开始读取,然后按照优先级顺序依次读取。
B 优先级从高到低依次是:
B.1 申明中被括号括起来的部分
B.2 后缀操作符:括号()表示这是一个函数,而方括号[]表示这是一个数组。
B.3 前缀操作符:星号*表示“指向---的指针”。
C 如果const和volatile关键字后面紧跟类型说明符(如int ,long等),那它作用于类型说明符,在其他情况下,const和volatile关键字作用于它左边紧邻的指针星号。
例:char * const *(*next)();
首先先变量名,直接被括号括起来,所以先把括号里面的东西当做一个整体,得出“next是一个指向---的指针”
其次,考虑右边的函数括号(B2规则),所以得出“next是一个函数指针,指向一个返回---的函数”
然后,处理前缀“*”,得出指针所指的内容
最后,把“char * const”解释为指向字符的常量指针。
概括:这个申明表示next是一个指针,该指针指向一个函数,该函数的返回另一个指针,该指针指向一个类型为char的常量指针。
1085

被折叠的 条评论
为什么被折叠?



