你能帮我了解一些有关结构的知识吗?
我创建了两个带有元素的结构,这里每种情况都有一个。我有一个名为“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/