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