void *memset(void *str, int c, size_t n)

事情是这样的:
我定义了一个结构体数组 ,这个结构体里有数组元素

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 个字符。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Eterlove/article/details/123723965