gpt4 book ai didi

arrays - 在 C 中,如何 "directly"将结构复制到数组成员?

转载 作者:行者123 更新时间:2023-12-02 02:34:42 25 4
gpt4 key购买 nike

所以我想这样做:

struct element{
int t;
};

int main(int argc, char *argv[]) {
struct element arr[10];
arr[0]={3};
return 0;
}

但这给了我以下错误:

test.c: In function ‘main’:
test.c:7:10: error: expected expression before ‘{’ token
7 | arr[0]={3};
| ^

为了解决这个问题,我将不得不求助于写作:

int main(int argc, char *argv[]) {
struct element arr[10];
struct element tmp = {3};
arr[0]= tmp;
return 0;
}

但我认为当我只想直接分配给 element{3} 时编写 tmp 值是不优雅的。如何修复语法以便不需要创建此 tmp 值?

最佳答案

你想要的是一个复合文字:

arr[0]=(struct element){3};

关于arrays - 在 C 中,如何 "directly"将结构复制到数组成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64499588/

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