我正在学习 struct
和 typedef
并且对编码完全陌生
typedef struct
{
uint8_t ID;
uint8_t TanID;
uint8_t ProductID;
uint8_t SetlTme;
uint8_t NoOfStep
}product_Config;
typedef product_Config *product_Config_Ptr;
我不明白最后一行是什么意思
typedef product_Config *product_Config_Ptr;
最佳答案
typedef
定义类型的别名。
在您的示例中,typedef Tank_Config *Tank_Config_Ptr;
将 Tank_Config_Ptr
声明为 Tank_Config *
的别名。
所以下面的定义是等价的。
Tank_Config *ptr1;
Tank_Config_Ptr ptr2;
也就是说,将指针隐藏在 typedef
中被认为是不好的做法。它掩盖了正在使用指针的事实,并可能导致代码读者感到困惑。
关于c - typedef name *aliasname 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40995920/