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

标签 c return structure call

你能帮我了解一些有关结构的知识吗?

我创建了两个带有元素的结构,这里每种情况都有一个。我有一个名为“function”的函数,它计算第一个结构 struct_a 的元素并返回 struct_a。

当我编译下面的代码时,我收到两个警告: 警告:返回从指针生成整数而不进行强制转换 警告:函数返回局部变量的地址

我做错了什么?

现在我想在 main 中调用这个结构,并将其元素放入另一个结构中。

首先,我在 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;

}

最佳答案

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

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

代码还存在一些其他问题,我不完全确定为什么 struct_a 首先被定义为数组,但这也许会让您朝着正确的方向开始.

关于c - 结构返回并与 main 中的另一个函数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443714/

相关文章:

c++ - 在 C++ 中访问结构?

c++ - 对 WriteFile 的异步调用会导致写入中断吗?

c - 在 C 中使用文字值与计算值时答案不正确

java - 从不同类的返回值检索对象时出现编译时错误。

从 C 调用 Nasm 函数但返回 -nan

xml - 何时在 RESTful 资源表示中包含子项?

java - 公式解决方案

c - 为什么wav文件头是0x4e0而不是0x0?

C 内存缓冲区破坏微 Controller 内存分配 - Atmel ATxmega

c - 使用 csh 脚本从文件中读取多行