typedef 和 define 的区别

typedef 和 define 的区别

(1)关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能。

         #define 则是宏定义,发生在预处理阶段,也就是在编译之前,它只进行简单而机械的字符替换,而不进行任何检查。

(2)typedef 用来定义类型的别名,定义与平台无关的数据类型,与 struct 的结合使用等。

         #define 不只是可以为类型取别名,还可以定义常量、变量和编译开关等。

(3)typedef 有自己的作用域。

         #define 没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用。




还没完呢。。。。

猜你喜欢

转载自blog.csdn.net/ylh_yanlinghui/article/details/78654019