我正在尝试返回一个定义如下的结构:
EXAMPLE.C
struct test
{
int x;
int y;
int z;
};
struct test t1,t2;
我什至不必解释函数,因为我在头文件中声明函数时遇到错误。
EXAMPLE.H
test calculate(int percent,int distance);
int modify(struct test x1);
因此,我将在函数calculate
中返回结构t1
,并将结构t2
传递给函数modify
。我不确定我做错了什么,但我收到语法错误
最佳答案
首先,您的结构类型称为 struct test
.不只是test
,但是struct test
.两个字。您在 modify
中使用了正确的类型名称功能。您在 t1
的声明中使用了正确的类型名称和 t2
.你为什么突然把它缩短为一个test
如果是 calculate
?
其次,您似乎正试图在函数声明中使用尚未声明的结构类型,因为这些函数是在 .h
中声明的。文件和结构类型在 .c
中声明文件。像这样的事情可以适本地完成,但这通常不是一个好主意(除非你试图实现一个不透明的类型)。这很可能不是您想要做的。那么,为什么要在 .c
中声明结构类型?文件?一个更好的主意是在 .h
中声明它文件也在你的函数之上。
关于c - 返回结构并将结构传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52961537/