•不要为了方便起见对结构使用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;应该始终在结构的定义中使用结构标签,即使它并非必须,这种做法可以使代码更为清晰。