理解 C 语言声明的优先级规则

以下规则摘自《C 专家编程》第三章 “分析 C 语言的声明”

[code lang=text]
A 声明从它的名字开始读取,然后按照优先级顺序依次读取。
B 优先级从高到低依次是:
B. 1 声明中被括号括起来的那部分
B. 2 后缀操作符:
括号()表示这是一个函数,而
方括号[]表示这是一个数组。
B. 3 前缀操作符:星号*表示“指向…的指针“。
C 如果const和(或)volatile关键字的后面紧跟
类型说明符(如int,long等),那么它作用于
类型说明符。在其他情况下,const和(或)
volatile关键字作用于它左边紧邻的指针星号。
[/code]

示例:

[code lang=text]
char * const *(*next)();
char *(* c[10])(int **p);
[/code]

 

如无特殊说明,文章均为本站原创,转载请注明出处
源自: 王明军的博客
本文链接地址: 理解 C 语言声明的优先级规则
广告

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.