gpt4 book ai didi

c - 如何根据 C 编程语言标准初始化结构体

转载 作者:行者123 更新时间:2023-11-30 17:50:46 33 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 局部变量的方法吗?或者有什么更好的或至少有效的吗?

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

最佳答案

在 C99 中,您可以使用指定的初始化器来初始化结构体:

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

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

关于c - 如何根据 C 编程语言标准初始化结构体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052129/

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