事情是这样的:
我定义了一个结构体数组 ,这个结构体里有数组元素
typedef struct
{
uint8_t Car_Type[5]; //车辆类型
uint8_t Car_ID[5]; //车辆编号ID
uint8_t Year;
uint8_t Month;
uint8_t Day;
uint8_t Hour;
uint8_t Min;
uint8_t Sec;
_Bool notEmpty;
}Car_StructureTypeDef; //定义车辆结构体
Car_StructureTypeDef Car_Structure[8]={0}; //构建数据库
当车辆出库后,数据库中的车辆信息应清空,所以我使用完这个结构体数组 ,我想把它清空
//Car_Structure[Locate] = { {0,0,0,0,0},{0,0,0,0,0}, 0};
最开始我是这样做的, 出现了这样的错 error: #29: expected an expression
正确做法是使用 memset库函数
memset(&Car_Structure[Locate] ,0 , sizeof(Car_Structure[Locate]) );
memset函数原型如下所示
void *memset(void *str, int c, size_t n)
C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。