1、限定整数b在整数a和整数c之间:
if(a<b<c)错;应该是 if((a<b) && (b<c))
@a<b<c在c语言中的解释是,a<b先会返回一个值,如果a<b为真则返回1,为假返回0,然后再进行1<c或0<c的运算。
2、结构体定义技巧
32位MCU,地址总线和数据总线都是32位,以32位为单位存储。合理安排好数据结构体的元素,按顺序让临近的元素组成32位,有助于减小存储空间。
typedef struct OID_data_match
{
int flash_address;
int char_len;
short char_num;
short reserve_data;
}OID_DATA_MATCH;
sizeof(OID_DATA_MATCH) 打印出来是12;
typedef struct OID_data_match
{
int flash_address;
short reserve_data;
int char_len;
short char_num;
}OID_DATA_MATCH;
sizeof(OID_DATA_MATCH) 打印出来是16;