define :
宏定义,在预编译阶段就进行处理,简单的字符串代换,
typedefine:
编译时进行处理,不是简单的替换,而是对类型说明符的重新命名。被命名的标识符具有类型说明的功能,
代码说明
#include <stdio.h>
#define P1 char*
typedefine char* P2;int main()
{P1 x,y;P2 a,b;printf("by #define : %d\n",sizeof(x),sizeof(y));printf("by #define : %d\n",sizeof(a),sizeof(b));rturn 0;
}
结果分别是 4,1
和 4,4;
说明#define宏替换的P1 x,y;变为char* x, y 只有X为char*类型。Y为char类型。