被教材黑了的 typedef
来源:互联网 发布:4y4淘宝店铺装修网站 编辑:程序博客网 时间:2024/04/27 14:23
typedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少 数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#define int PARA几乎一样,如前面几章所述,这些教材的宗旨是由浅入深,但实际做出来的行为却是以偏盖全。的确,这种形式在所有形式中是最简单的,但却没有对 typedef进一步解释,使得不少人用#define的思维来看待typedef,把int与PARA分开来看,int是一部分,PARA是另一部分, 但实际上根本就不是这么一回事。int与PARA是一个整体!就象int i:声明一样是一个整体声明,只不过int i定义了一个变量,而typedef定义了一个别名。这些人由于持有这种错误的观念,就会无法理解如下一些声明: typedef int a[10]; typedef void (*p)(void); 他们会以为a[10]是int的别名,(*p)(void)是void的别名,但这样的别名看起来又似乎不是合法的名字,于是陷入困惑之中。实际上,上面 的语句把a声明为具有10个int元素的数组的类型别名,p是一种函数指针的类型别名。 虽然在功能上,typedef可以看作一个跟int PARA分离的动作,但语法上typedef属于存储类声明说明符,因此严格来说,typedef int PARA整个是一个完整的声明。 定义一个函数指针类型。 比如原函数是 void func(void); 那么定义的函数指针类型就是typedef void (*Fun)(void); 然后用此类型生成一个指向函数的指针: Fun func1; 当func1获取函数地址之后,那么你就可以向调用原函数那样来使用这个函数指针: func1(void);
- 被教材黑了的 typedef
- typedef深入理解,不要被教材忽悠
- 读完了网校的教材
- 你的屏被“黑”了么?
- 我的网站被 黑了
- google 被黑了?!
- google被黑了?
- csdn 被黑了?
- CSDN被黑了?
- 被黑了?
- 黑苹果安装教材收集
- 黑掉旧金山公交售票系统的黑客被别人反黑了
- 博客中国被黑了
- 百度被黑了,哈哈!!
- hibernate.org被黑了?
- 被黑中介坑了。。。
- CSDN又被黑了?
- 博客竟然被黑了
- 如何判断一个数是否为素数
- 认证流程
- Truncate,delete与drop区别
- 软件项目管理实践经验谈
- Table-Valued User-Defined Functions
- 被教材黑了的 typedef
- C标准预定义宏
- Web 2.0时代RSS的.Net实现
- Windows Azure AppFabric 入门教学系列 (六):Message Buffer之初体验
- IMenuBarItemRenderer
- 解析_Net框架下的XML编程技术
- 一个c程序在执行main函数之前和main之后都做了那些事情啊
- 制作深度WinPE+老毛桃WinPE+Ubuntu启动优盘
- WPF简介