结构体初始化, 目前来说共有4种方法.
示例结构体:
typedef struct A{
int age;
char name[20];
}stA;
typedef struct B{
struct A a;
char schoolName[40];
}stB;
一, 定义时初始化为所需值.
例如: struct A a = {1, "zhang"};
二, 定义时初始化为零.
例如: struct A a= {0};
注: 此时stA如此初始化为零不会有警告. 但是如果 struct B b = {0}; 就会提示以下警告:
warning: missing braces around initializer.
那么初始化stB就需要第三和第四种方法.
三, 使用memset进行初始化.
例如: struct B b; memset(&b, 0, sizeof(b));
四, 定义时使用{}初始化.
例如: struct B b = {};
此初始化方法来之与<<微软一站式示例代码库编程规范>>.