如果想利用堆区创建临时结构体用以存储数据并同时输出时,首先需要使用memset函数清空结构体成员,这一步必须做,如若不然,导致出错。
具体原因:个人认为是在堆区创建变量时,内存未初始化,如果所存数据小于结构体成员定义大小,剩余内容将是随机数,使用结构体成员数据时就会出错。
例如
struct ConfigInfo {
char name[64];
char value[64];
};
memset(info[index].name, 0, 64);
memset(info[index].value, 0, 64);