gpt4 book ai didi

c - 普通的旧 C : accessing member of a function returning struct

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

请你帮我解决一个“合法性”的问题。

假设 foo() 是一个返回结构的函数,例如将结构的成员直接分配给变量是否正式可接受

x = foo().member

GNU-C 编译器和嵌入式 C 编译器 (Keil) 都毫无怨言地接受了这一点,但根据官方 C 标准,这实际上是合法的,还是这些特定编译器的放松态度?如果它是合法的,它是一直合法还是最近才发展起来的?

下面是编译运行正常的例子:

typedef struct
{
int a;
int b;
} footype;

footype testfoo(void)
{
footype n;

n.a = 1;
n.b = 2;
return n;
}

int main()
{
printf("\nTest = %d\n", testfoo().a);
return 0;
}

最佳答案

是的,这是标准的 C 语法。

关于c - 普通的旧 C : accessing member of a function returning struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080872/

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