#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

原文地址:https://www.cnblogs.com/PengfeiSong/p/6195138.html