define和typedef的区别
- #define可以使用其他类型说明符对宏类型名进行扩展,而typedef不可以
#define INT int
unsigned INT n; //可以
typedef int INT;
unsigned INT n;//错误
- 在连续定义几个变量的时候,typedef定义的几个变量为同一类型,define不行。
typedef int* Pint;
Pint p1,p2; //p1,p2类型相同,都是指向int类型的指针
#define PINT int*
PINT p1,p2;//宏展开后:int *p1,p2;