//结构体1
struct channel_t {
unsigned char input;
unsigned char output;
unsigned char fault_output;
unsigned char pulse;
};
typedef struct channel_t * channel_p;
struct do_info_t {
struct rt_mutex mutex;
struct channel_t channel[8];
};
typedef struct do_info_t* do_info_p;
/*结构体定义*/
struct module_info_t {
struct rt_mutex mutex;
unsigned char addr;
unsigned char state;
unsigned char type;
};
typedef struct module_info_t* module_info_p;
/*正常定义*/
struct rt_mutex module_info_mutex;
unsigned char module_addr;
unsigned char module_state;
unsigned char module_type;
使用心得
1.结构体类型命名不使用typedef指令,只可用在其指针类型上,后缀加"_p"
2.变量类型命名之后添加“_t”,用以区分变量类型和变量名
3.定义结构体变量名尽量短,可采用词语缩写,如curr,info等等
4.变量类型命名应准确表达出其含义,描述“what”,而非“how”
5.结构体可以将相关变量聚合到一起,提高移植性和阅读性,应尽量将相同类型封装进去结构体