• C专家编程 第3章 分析C语言的声明 3.4 通过图标分析C语言的声明


    图中忽略了typedef以简化声明。如果声明有typedef,就把它翻译成没有typedef的样子。如果它类似于“typedef p a...”这种形式,就把声明中所有类型为“a...”的内容用“p”来代替。                                                                                                                    

    在分析这个声明时,需要逐渐把已经处理过的片段“去掉”,这样便能知道还需要分析多少内容。
    再次提醒,记住const表示“只读”,并不能因为它的意思是常量就认为它表示的就是常量。
    3.4 通过图标分析C语言的声明 

    char *(* c[10])(int **p);

    分析一个C语言的声明

    char *(*c[10])(int **p);
    剩余的声明                        下一步要进行的步骤                    结果 
    从最左边的那个标识符开始         
    char *(*c[10])(int **p);        第1步                            表示“c是一个...”
    char *(*[10])(int **p);          第2步                            表示“...的数组【0...9】”
    char *(*)(int **p);                第5步                            表示“指向...的指针”转到第4步
    char *()(int **p);                 第4步                            去掉两边的括号,转到第2步,再接着
                                                                                   执行第3步
    char *(int **p);                    第3步                            表示“返回...的函数”
    char *;                                第5步                            表示“指向...的指针”
    char                                   第6步                            表示“char”                                                         

    /*c是一个数组[0...9],它的元素类型是函数指针,其所指向的函数的返回值是一个
     *指向char的指针
     */
    /*注意:在数组中被函数指针所指向的所有函数都把一个指向指针的指针作为它们
     *的唯一参数。 
     */ 

  • 相关阅读:
    如何卸载干净 IDEA(图文讲解)windows和Mac教程
    无声的世界,精神科用药并结合临床的一些分析及笔记(七)
    Flutter 开发问题记录
    89.(cesium篇)cesium聚合图(自定义图片)
    俄罗斯塔斯社TASS 媒体投放报道:海外媒体发稿扭转战局
    输入和输出处理
    腾讯产品经理的自动化工作流
    面试必考 - 结构体内存对齐,还有人不会?
    求数组第k小/大的序列和
    vite+ceisum 图片JSON 报错问题404
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/126072760