gpt4 book ai didi

c++ - 我们可以在 C 中返回一个包含数组的结构吗?

转载 作者:行者123 更新时间:2023-11-30 01:41:05 25 4
gpt4 key购买 nike

这是一个结构:

struct elem {
int a[100];
int val;
};

elem foo() {
elem Result;
Result.a[0] = 5;
return Result;
}

int main () {
elem aux = foo();
//is Result passed back to aux, so that we can use its array?
cout<<aux.a[0]<<"\n"; // 5
}

我知道函数可以返回简单的结构。他们还可以返回包含数组的结构吗?内存中发生了什么?

还有:当我们声明 elem Result 时;在函数中,数组是用0初始化的,还是只取随机值?

最佳答案

是的,在 C 和 C++ 中都可以。

数组与结构的其余部分一起逐个元素地复制。对于大型阵列,这可能会很慢。


is the array initialised with 0, or it just takes random values?

数组未初始化,因此它包含不确定的值。访问它们会导致未定义的行为。

关于c++ - 我们可以在 C 中返回一个包含数组的结构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42045706/

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