gpt4 book ai didi

C:通过指针设置结构的数组成员

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:36 24 4
gpt4 key购买 nike

我有一个以数组作为成员的结构,我正在尝试使用箭头语法设置该数组。我有什么:

typedef float Foo[3];
typedef struct {
Foo foo;
} Bar;

Bar* f() {
Bar* bar = malloc(sizeof(Bar));
bar->foo = {1.0, 1.0, 1.0};

return bar;
}

海湾合作委员会说:

error: expected expression before '{' token

bar->foo = {1.0, 1.0, 1.0} 行上;

我不知道为什么这不起作用。提前致谢。

最佳答案

C99 允许通过复合文字:

Bar* f()
{
Bar* bar = malloc(sizeof(Bar));

if (bar)
*bar = (Bar){{1.0, 1.0, 1.0}};

return bar;
}

“外部”curlies 将结构封装为一个整体(如果结构有其他成员,则将它们列在外部 curlies 中),“内部”curlies 用于数组。

关于C:通过指针设置结构的数组成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4011136/

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