gpt4 book ai didi

结构数组中的 gcc 成员初始化

转载 作者:行者123 更新时间:2023-12-01 15:11:39 25 4
gpt4 key购买 nike

当你创建一个 if 的数组时,如何只初始化一个结构的成员,当你使用 GCC 时?例如:

#define UNUSED OxFF
typedef struct inputs{
uint8_t state;
uint8_t limit;
uint8_t value;
} INPUT_TYPE;

//create array but just care that all members .state are UNUSED
INPUT_TYPE Node1[5] ={ Node1.state = UNUSED }

初始化是指数组而不是结构的成员。当然可以使用循环,但我不想在运行时使用“input_init”函数进行初始化。

最佳答案

初始化某些成员的语法是 C99 功能。你已经接近了,试试这个:

#define UNUSED OxFF
typedef struct inputs{
uint8_t state;
uint8_t limit;
uint8_t value;
} INPUT_TYPE;

INPUT_TYPE Node1[5] = {
{.state = UNUSED},
{.state = UNUSED},
{.state = UNUSED},
{.state = UNUSED},
{.state = UNUSED}
};

见:How to initialize a struct in accordance with C programming language standards

编辑:

由于我不够清楚,我编辑了答案。

数组初始化是如何工作的,这里回答了:How to initialize all members of an array to the same value?

关于结构数组中的 gcc 成员初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14670864/

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