天天看点

typedef 和#define的简单区别

typedef char * String_t; #define String_d char * 1.typedef char *String_t 定义了一个新的类型别名,有类型检查 2.#define String_d char * 只是做了个简单的替换,无类型检查 3.前者在编译的时候处理,后者在预编译(预处理)的时候处理 4.同时定义多个变量的时候有区别,主要区别在于这种使用方式 String_t a,b; String_d c,d;

a,b ,c 都是char*类型,而d 为char 类型

一般都遵循#define定义“可读”的常量以及一些宏语句的任务,而typedef则常用来定义关键字、冗长的类型的别名。(推荐typedef)

继续阅读