首页 > 其他 > 详细

用英文加优先级来解读C的声明

时间:2014-02-28 11:18:33      阅读:189      评论:0      收藏:0      [点我收藏+]
  • 比如:int ( * func_p ) ( double );
    • 首先着眼于标识符
      func_p is
    • 因为存在括号,(* func_p) 先被处理,这里着眼于*
      func_p is a pointer to
    • 解释后面的( ),这是用于函数的,参数是double
      func_p is a pointer to function(double) returning
    • 最后,解释数据类型修饰符int
      func_p is a pointer to function(double) returning int
    • 翻译成中文就是:
      fun_p是一个指向返回int的函数的指针

  • 再比如:double (*hoge)[3],翻译为:
    • hoge is a pointer to array(个数为3) of double
    • hoge 是一个指向double的数组(个数为3)的指针

  • 还有:int (*func_table[])(double)
    • func_table is an array of pointers to function(double) returning int
    • func_table 是一个指向返回int的函数的指针的数组。

用英文加优先级来解读C的声明,布布扣,bubuko.com

用英文加优先级来解读C的声明

原文:http://www.cnblogs.com/amghost/p/3572148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!