gpt4 book ai didi

c - 通过命名成员初始化结构

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:53 25 4
gpt4 key购买 nike

我正在努力思考 http://publib.boulder.ibm.com/infocenter/lnxpcomp/v7v91/index.jsp?topic=%2Fcom.ibm.vacpp7l.doc%2Flanguage%2Fref%2Fclrc03strin.htm 中提供的语法:

struct
{
int a[5], b;
} game[] =
{
[0].a = { 1 },
[1].a[0] = 2
};

理想情况下,我会找到一些方法来执行以下操作:

struct
{
int a, b;
} foo =
{
.a = 4,
.b = 5
};

我希望对结构进行按名称初始化的原因是我自己的结构有很多成员,所以我想要更清楚。我不应该只在单独的语句中初始化它们,因为这是一个对性能敏感的嵌入式应用程序,其中成员实际上是位域,因此单个 struct init 生成的指令少于多个成员初始化。

哪个 C 标准允许这样的按名称初始化成员?

最佳答案

目前还不清楚你在问什么,但是使用 c99 编译器,你的第一次尝试可以写成

struct
{
int a[5], b;
} game[] =
{
[0] = {.a = { 1 }},
[1] = {.a[0] = 2}

};

关于c - 通过命名成员初始化结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6709027/

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