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


    • 比如: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的函数的指针的数组。
  • 相关阅读:
    爬虫基础 2.1 http原理
    爬虫基础 2.1 http原理
    3.29上午
    3.28
    3.27下午
    3.27上午
    3.24上午
    3.23下午
    3.23上午
    3.22上午
  • 原文地址:https://www.cnblogs.com/amghost/p/3572148.html
Copyright © 2020-2023  润新知