鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > c语言 > >

为何不精通C? 03 深入剖析声明

来源:互联网 作者:佚名 时间:2013-05-18 11:45
对于复杂的C函数声明,或者被typedef别名后的声明,很多人往往一头雾水。本文主要解析下C语言中声明过程所遵循的原则。 声明 引用《C专家编程》的第三章内容,说明下声明的优先级规则: 声明从它的名字开始读,然后按照优先级顺序依次读

    对于复杂的C函数声明,或者被typedef别名后的声明,很多人往往一头雾水。本文主要解析下C语言中声明过程所遵循的原则。

声明

    引用《C专家编程》的第三章内容,说明下声明的优先级规则:

  • 声明从它的名字开始读,然后按照优先级顺序依次读取。
  • 优先级从高到底依次为:
  •  括号包围的地方
  • 后缀操作符:
  • 括号()表示是一个函数
  • 方括号[]表示是一个数组
  • 前缀操作符:星号*表示类型是 指向....的指针
  • 若const/volatile关键字的后面紧跟类型说明符(int,float),那么其作用于类型,香港虚拟主机,在其他情况下,作用于其左边紧邻的指针星号。
  • 不过,我觉得这个规则的不够通俗,服务器空间,看了《C++Annotation》中关于const的那一章节,也详细解释了下这个规则,香港虚拟主机,高效,庖丁解牛般分析:

    // 例子
    char* const *(*next)();

    网友评论
    <