typedef 和 define 的区别
(1)关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能。
#define 则是宏定义,发生在预处理阶段,也就是在编译之前,它只进行简单而机械的字符替换,而不进行任何检查。
(2)typedef 用来定义类型的别名,定义与平台无关的数据类型,与 struct 的结合使用等。
#define 不只是可以为类型取别名,还可以定义常量、变量和编译开关等。
(3)typedef 有自己的作用域。
#define 没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用。
还没完呢。。。。