×

C ---------- #define 与 typedef 的区别

zxjy辉 zxjy辉 发表于2023-12-11 10:42:42 浏览1508 评论0

抢沙发发表评论

区别还是挺大的,要注意辨别,尤其是在多个变量的时候


都可以用来定义一个别名,

#define otherName  Name

typedef Name otherName;

区别在于,多个变量定义的时候,尤其在定义指针的时候

#define D_otherName Name*

typedef Name*  T_otherName;

例如:

D_otherName a,b;    这个扩展为: Name *a,b; 在这里 a变量表示指针,而b变量则不是指针

T_otherName a,b;   这个两个变量都表示指针

从这里,可以看出,typedef 更像是真正的类型,或则说是类型的别名

所以说:类型的定义最好还是用 typedef ,其他的用#define


#好好学习!

群贤毕至

访客