这是一个结构:
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结果时;在函数中,数组是用0初始化的,还是只取随机值?
答案 0 :(得分:4)
是的,你可以在C和C ++中使用。
数组与元素的其余部分一起逐元素复制。对于大型阵列,这可能会很慢。
是用0初始化的数组,还是只取随机值?
数组未初始化,因此它包含不确定的值。访问它们会导致未定义的行为。