gpt4 book ai didi

我可以在 ANSI C 中的一行中返回一个初始化的结构吗?

转载 作者:太空狗 更新时间:2023-10-29 16:35:35 24 4
gpt4 key购买 nike

我只是想知道我是否可以做这样的事情......

typedef struct Result{
int low, high, sum;
} Result;

Result test(){
return {.low = 0, .high = 100, .sum = 150};
}

我知道这是错误的方式,但我可以这样做吗,或者我需要创建一个局部变量来接收值然后返回它?

最佳答案

您可以使用复合文字来做到这一点:

Result test(void)
{
return (Result) {.low = 0, .high = 100, .sum = 150};
}

(){} 是复合文字运算符,复合文字是 c99 中引入的功能。

关于我可以在 ANSI C 中的一行中返回一个初始化的结构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700804/

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