gpt4 book ai didi

c - 如何按照C编程语言标准初始化一个struct

转载 作者:太空狗 更新时间:2023-10-29 16:13:32 25 4
gpt4 key购买 nike

我想初始化一个结构元素,分为声明和初始化。这是我的:

typedef struct MY_TYPE {
bool flag;
short int value;
double stuff;
} MY_TYPE;

void function(void) {
MY_TYPE a;
...
a = { true, 15, 0.123 }
}

这是按照C编程语言标准(C89、C90、C99、C11等)声明和初始化MY_TYPE局部变量的方式吗?或者有什么更好的或至少有效吗?

更新 我最终得到了一个静态初始化元素,我根据需要在其中设置每个子元素。

最佳答案

在 (ANSI) C99 中,您可以使用指定初始化器 来初始化结构:

MY_TYPE a = { .flag = true, .value = 123, .stuff = 0.456 };

其他成员初始化为零:“省略的字段成员被隐式初始化为与具有静态存储持续时间的对象相同。” ( https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html )

关于c - 如何按照C编程语言标准初始化一个struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com