这家伙又emo了 2021-05-10 11:10 采纳率: 84.6%
浏览 60
已采纳

typedef问题(新手上路,对语法有点迷!!!)

先来个简单的

typedef int myinteger;
myinteger i;   // 相当于    int i;

这个比较好懂,直接给int这种整型类型起个别名。但一涉及到函数指针我就懵逼了,看了将近一天也有点晕,感觉懂了但还是不理解。就是向下面这个例子。

例子1

void (*b[10]) (void (*)());
typedef void (*pFun1)();
typedef void (*pFun2)(pFun1);
最简形式:pFun2 b[10];

主要不理解的地方就是怎么语法看起来这么怪呀,和上面我也感觉是有相似之处,但到底是有什么样的关联,这很令人头大。

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2021-05-10 11:17
    关注

    typedef void (*pFun1)();==用pFun1表示一个无参数,返回类型为void的函数指针

    typedef void (*pFun2)(pFun1);==用pFun2表示一个参数是pFun1,返回类型为void的函数指针

    void (*b[10]) (void (*)());==b[10]表示10个参数是void(*)()类型的函数指针,返回值为void的函数指针

    void(*)()参数类型就是typedef 定义的pFun1,b[10]的元素就是pFun2表示的函数指针,所以可以 pFun2 b[10]来定义

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥20 数电设计提问求帮助,出租车计费器
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题