关于Typedef
来源:互联网 发布:谁说菜鸟不懂数据分析 编辑:程序博客网 时间:2024/06/05 15:25
功能:用自定义名字为已有数据类型命名。
类型定义一般形式: typedef 原有类型 新别名;
说明:
1、typedef没有创造新数据类型。
2、typedef是定义类型别名,必能定义变量。
3、typedef与define不同。
define预编译时处理,简单字符置换。
typedef编译时处理,为已有类型命名。
用处:
1、用于屏蔽原始类型,变成通用形式
对于大型的软件开发,自己定义数据类型,目的是增加系统的移植性。
2、用于重定义struct, union等类型(简化了代码)
注意: 千万不要觉得typedef一次只能定义一个类型别名!
typedef struct student{ int i; char name[10];}STU, *pSTU;
这种技巧在系统头文件中常被使用。
typede的f陷阱一:
typedef char* pstr;int func(const pstr, const pstr);我们希望表达的是:
int func(const char*, const char*);可它被解释为:
int func(char* const , char* const);
分析:
不要被const pstr的表象所迷惑,尽管const放在了str前面,但它修饰的是pstr这个类型,而pstr被定义为char*,不是char。
所以const修饰的时char*型的指针,即这个语义char* const,而不是指针所指向的目标char。
解决方法:
typedef const char* cpstr;int func(cpstr, cpstr);
typedef的陷阱二:
typedef static int COUNT;该语句编译错误!
分析:
typedef跟static,auto,extern,register等一样是存储类型关键字。编译不通过是因为声明中存在了多个存数类的关键字。
- 关于Typedef
- 关于typedef
- 关于Typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef
- 关于typedef的用法
- 关于typedef的用法
- 关于typedef的用法
- 关于typedef的用法
- 关于typedef的用法
- 关于typedef的用法
- 关于typedef的思考
- EL表达式
- 您的应用程序架构中的Ext JS 4,第2部分
- RPC Fault faultString="Error #2006: 提供的索引超出范围。"
- 您的应用程序架构中的Ext JS 4,第3部分
- poj 1190(DFS+剪枝)
- 关于Typedef
- 如何自学 SEO
- ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication)
- Ext 树如何定位到指定节点
- 【转】<亲测>redhat 9.0安装出错无法打开xpdf-2.01-8软件包解决办法
- TCL脚本学习笔记
- ASP.NET Authentication Provider
- linux2.6软中断-tasklet
- android一些特殊的属性