我想初始化一个struct元素,在声明和初始化中拆分.这就是我所拥有的:
typedef struct MY_TYPE {
bool flag;
short int value;
double stuff;
} MY_TYPE;
void function(void) {
MY_TYPE a;
...
a = { true, 15, 0.123 }
}
Run Code Online (Sandbox Code Playgroud)
这是MY_TYPE根据C编程语言标准(C89,C90,C99,C11等)声明和初始化局部变量的方法吗?或者有什么更好或至少工作?
更新我最终得到一个静态初始化元素,我根据自己的需要设置每个子元素.
我有以下结构:
typedef struct my_struct {
int a;
int b;
int *c;
} my_struct;
Run Code Online (Sandbox Code Playgroud)
是:
my_struct n = (my_struct) { .b = 3 };
Run Code Online (Sandbox Code Playgroud)
相当于:
my_struct n = (my_struct) { .a = 0, .b = 3, .c = NULL };
Run Code Online (Sandbox Code Playgroud)
关于什么:
my_struct n = (my_struct) { .b = 3, 0 };
Run Code Online (Sandbox Code Playgroud)