C语言中使用typedef的小提示

避免在结构体使用typedef以保持代码清晰和便于移植
本文详细阐述了在C编程中使用typedef的优点与限制,特别是针对结构体的使用。强调了在数组、结构、指针及函数组合类型,以及可移植类型上使用typedef的重要性。同时,提出在结构体定义中使用结构标签的建议,以增强代码的可读性和移植性。

摘自:《C专家编程》


  • 不要为了方便起见对结构使用typedef

这样做的唯一好处是使你不必书写”struct“关键字,但这个关键字可以向你提示一些信息,你不应该把它省掉。

  • typedef应该用在
    • 数组、结构、指针以及函数的组合类型。
    • 可移植类型。比如当你需要一种至少20bit的类型时,可以对它进行typedef操作typedef的提示声明。这样,当代码移植到不同的平台时,要选择正确的类型如short, int, long时,只要在typedef中进行修改就可以了,无需对每个声明都加以修改。
    • typedef也可以为后面的强制类型转换提供一个简单的名字,如:
typedef int (*ptr_to_int_fun)(void); char *p; ... = (ptr_to_int_fun) p;

应该始终在结构的定义中使用结构标签,即使它并非必须,这种做法可以使代码更为清晰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值