memset初始化结构体之内存泄漏
void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。 str – 指向要填充的内存块。 c – 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。 n – 要被设置为该值的字节数。 声明:在花括号中间,每个结构代表一个作用域,可以防止命名冲突, struct { int number; int *ptr; char name [NAME_LEN + 1]; }part1,part2; 如果常用到,可以使用类型定义这样声明, typedef struct { int number; int *ptr; char name [NAME_LEN + 1]; }part_t; part_t part1,part2; 还有一种是结构标记声明, struct part{ int number; int *ptr; char name [NAME_LEN + 1]; }; struct part part1, part2; 初始化:可以在声明的同时初始化,如 part_t part1 = {22, &item, “Good boy”}; // 这种初始化和数组很相似。 也可以指定初始化: part_t part2 = {.number=33,