1、typedef  int (init_fnc_t) (void);表示定义init_fnc_t为函数类型,该函数返回int型,无参数。
而“init_fnc_t  *init_sequence[]={ cpu_init,  board_init }”表示用init_fnc_t(函数类型)去定义一个一维指针数组,数组中的元素都是指针变量,而且都是指向函数的指针,这些函数返回值都是int型,无参数的。更明朗的说就是数组中的每个元素是用来存放函数入口首地址的。

2、int (*init_fnc_t) (void);表示定义一个函数指针(返回值为int型,无参数的函数指针,存放的是函数的首地址),typedef  int (*init_fnc_t) (void);表示定义一个函数指针类型,即可以直接用init_fnc_t这个符号去定义函数指针,“init_fnc_t   init_sequence[]={cpu_init,  board_init }”表示用init_fnc_t(函数指针类型)去定义一个数组,数组里面的元素都是一个函数指针,cpu_init,  board_init 都是函数指针,存放的都是函数的首地址。

综上的分析,我个人觉得这两个定义的意思是一样的只是写法不一样而已,1中的数组元素是指向函数的指针变量,2中的数组的元素是函数指针。因此得到的结果是一样的。

说实话,typedef的用法真的挺变态,一部小心会让你掉入陷阱!!!不过能够用好typedef并深刻理解他的内涵,我觉得个人的C语言能力会是一个大提高!

最新文章

  1. 【转】Django Model field reference学习总结
  2. python 引用传递与值传递
  3. 1Z0-053 争议题目解析690
  4. javascript获取当前时间
  5. [转]CISP(注册信息安全专业人员)认证(12天)
  6. Java中的Timer和TimerTask在Android中的用法(转)
  7. linux下git的安装和使用(转)
  8. 本地安装discuz
  9. Python爬虫预备知识
  10. nodejs微信开发获取token,ticket-1
  11. js bool true false 比较
  12. php---tp框架---表单验证
  13. Android学习笔记-Adapter基础讲解
  14. C#复习资料
  15. LoadRunner 中实现MD5加密
  16. eclipse的注释
  17. python——re模块
  18. hackrf入门
  19. 移动电力猫HG260GT pon实现路由拨号
  20. 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建基础树形网格

热门文章

  1. uoj213 【UNR #1】争夺圣杯
  2. LightOJ 1245 - Harmonic Number (II)
  3. 论文阅读笔记---ShuffleNet V1
  4. Activiti学习笔记5 — 常用API解析
  5. java四种引用与回调函数
  6. [java]反转单项链表,用O(n)时间和O(1)空间
  7. canvas填充规则,非零环绕
  8. Maven - Scope区别
  9. 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS
  10. [Codeplus 4月赛]最短路