typedef与#define的区别 1.typedef是C语言的写法,语句结束时会加分号,而#define是C++的写法,语句结束不加分号。 2.#define是编译器在预处理的时候进行文本替换,不会检测语法是否错误,而typedef是在编译的时候处理,会检测语法。 3.typedef必须跟数据类型,而#define可以替换任意东西 (比如typedef 3.1415 PI;错误,而#define PI 3.1415是可以的 )