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的指针。
    注意:在数组中被函数指针所指向的所有函数都把一个指向指针的指针作为它们的唯一参数。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值