#define与typedef在重定义类型中的区别

#define 为完全的替换

typedef 重新定一个数据类型

eg

#define charp1 char* 

typedef char* charp2

charp1 a,b;  //a char* b char
charp2 c,d;  //c char* d char*

由于typedef重新定义了一个类型,所以c,d都为char*

#define 将charp1 直接替换位 char *  等价与 char * a,b;所以b为char

 

posted @ 2016-12-18 18:13  SongPF  阅读(1427)  评论(0编辑  收藏  举报