结构返回并与main中的另一个函数进行比较

时间:2015-02-10 23:14:28

标签: c return structure call

你能帮我理解一下结构吗?

我创建了两个带元素的结构,在这里我每个都有一个。我有一个名为“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;

}

1 个答案:

答案 0 :(得分:0)

您收到警告,因为您将struct_a定义为characteristics结构数组,这意味着struct_a是该数组中第一个结构的指针(地址),而函数function()期望返回int值。

您需要将function()的返回类型与您要返回的变量类型相匹配。

代码中还有一些其他问题,我不完全确定为什么struct_a首先被定义为数组,但这可能会让你开始朝着正确的方向前进。