typedef和宏定义在使用上的区别

typedef是类型定义的关键字,可以给类型起别名。typedef int int32; 

这样的功能宏定义也可以实现。 #define int32 int  

那么它们有什么区别呢? -- 宏定义只是简单的替换,而typedef就是给变量起一个别名 (如下图)

#define STR  char *

typedef char *  STRING


int main(void){
   STR a,b;  // 这个是 char * a,b; 定义了一个字符指针a,和一个字符变量b

   STRING c,d;  // 这个是 char *c, *d;  定义的两个都是字符指针(我们一般这样写都是要定义两个此类型的变量)
}

 

 

你可能感兴趣的:(算法,数据结构)