typedef是专门用于类型定义的,而#define仅是把某处的文本替换了再编译,两者是有区别的例如typedef int T
T p; 定义了p这个整形数据,
而 T* p的话并不能定义为指向整型的指针。
如果是#define int T的话就可以
他们效果是差不多的,但#define本身并不在编译过程中执行,而是在预处理阶段就已经完成了,因此不作任何正确性检查
效果是一样的,只不过编译过程不一样
typedef是用来进行重定义的,可以将一个类型定义成另一种类型。
#define是用来宏定义,用来进行数据替换的
#define是宏定义也就是编译前都给替换了
typedef是重新定义,将一个类型编程另一个类型
效果是一样的,只是原理在编译时,编译器的处理方式不同。
defein是直接代替
而typedef则是要编译成一种类型