你能帮我理解一下结构吗?
我创建了两个带元素的结构,在这里我每个都有一个。我有一个名为“function”的函数,它计算第一个结构struct_a的元素并返回struct_a。
当我编译下面的代码时,我收到两个警告: 警告:返回从指针生成整数而不进行强制转换 警告:函数返回局部变量的地址
我做错了什么?
现在我想在main中调用这个结构,并将其元素放到另一个结构中。
首先,我在主要内部调用它的方式是否正确?或者我应该提出一些论点?
目标是:在main中,我想将“struct_a”的值放到结构“car_a”中。有什么建议吗?
struct characteristics
{
int element ;
};
struct car type = {int alpha};
int function(){
struct characteristics struct_a[10];
sruct_a[2].element_a = var;
return struct_a;
}
int main(){
function();
struct characteristics struct_a[10];
car.alpha = struct_a[2].element_a;
}
答案 0 :(得分:0)
您收到警告,因为您将struct_a
定义为characteristics
结构数组,这意味着struct_a
是该数组中第一个结构的指针(地址),而函数function()
期望返回int
值。
您需要将function()
的返回类型与您要返回的变量类型相匹配。
代码中还有一些其他问题,我不完全确定为什么struct_a
首先被定义为数组,但这可能会让你开始朝着正确的方向前进。