有关优先级和声明
2017-10-26 22:44
435 查看
Source
P64c语言声明的优先级规则
A.声明从它的名字开始读取,然后按照优先级顺序依次读取B.优先级从高到低依次是
B.1 声明中被括号括起来的部分
B.2 后缀操作符
括号()表示这是一个函数,方括号[]表示这是一个数组
B.3前缀操作符:星号*表示指向…的指针
C.如果const关键字后面紧跟类型说明符(如 int long等)
它作用于类型说明符。在其他情况下,const作用于它左边紧邻的指针星号。
Example
const * const * ( *next )();
Analyze
A.首先,看变量名,next直接被括号括住。B1.所以先把括号里的东西作为一个整体,得出“next是一个指向…的指针”
B.然后考虑括号外面的东西,在星号前缀和括号后缀之间做出选择
B2.规则告诉我们优先级较高的右边的函数括号,所以得出“next是一个函数指针,指向一个返回…的函数”
B3.然后,处理前缀“*”,得出指针所指向的内容
C.最后,把“char*const”解释未指向字符的常量指针
Result
next是一个指针,它指向一个函数,该函数返回另一个指针,该指针指向一个类型为char的常量指针相关文章推荐
- C语言声明的优先级规则
- 有关“类前置声明”和“包含头文件”的相关问题
- css的有关优先级的一个问题
- 有关doctype声明
- 【js】javascript变量声明优先级
- 理解C语言声明的优先级规则
- 理解C语言声明的优先级规则
- C语言声明的优先级规则《转》
- 有关C语言运算符优先级和结合律的思考
- linux c 一站式学习 extern关键词作用、变量的声明与定义以及extern与include的区别(都与extern有关)
- C#中有关方法的声明和调用
- *C语言有关指针的变量声明中的几个易错点
- 理解C语言声明的优先级规则
- 截取《C专家编程》中的语言声明优先级规则
- C声明的基本优先级规则
- 1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆
- 有关Linux程序优先级的问题
- C语言声明优先级规则
- 有关“类前置声明”和“包含头文件”的相关问题
- C语言声明的优先级规则