page contents

typedef 和define 有什么区别?

轩辕小不懂 发布于 2022-01-03 13:42
阅读 530
收藏 0
分类:C/C++开发
2797
Nen
Nen
- 程序员

用法不同:typedef 用来定义一种数据类型的别名,增强程序的可读性。define 主要用来定义 常量,以及书写复杂使用频繁的宏。

执行时间不同:typedef 是编译过程的一部分,有类型检查的功能。define 是宏定义,是预编译的部分,其发生在编译之前,只是简单的进行

字符串的替换,不进行类型的检查。

作用域不同:typedef 有作用域限定。define 不受作用域约束,只要是在define 声明后的引用 都是正确的。

对指针的操作不同:typedef 和define 定义的指针时有很大的区别。

「注意」:typedef 定义是语句,因为句尾要加上分号。而define 不是语句,千万不能在句尾加分号。

请先 登录 后评论