从头文件调用 Struct 到 main 函数

标签 c struct

我有两个头文件和一个主程序。

头文件是data.hflight.h。主程序是calculateflight.c

数据头文件有一组typedef结构,其中包含程序运行所需的变量。

我创建了一个名为 Flightmodel.h 的头文件,其中包含以下内容:

#ifndef __FLIGHT_MODEL_H
#define __FLIGHT_MODEL_H
#include "Data.h"

void calculateFlight(speedParamsType *speed, spinParamsType *spin,
                     flightParamsType *fData);

#endif

data.h 包含 typedef 结构,例如

typedef struct {
  float totalSpin;
  float spinAxis;
  float backSpin;
  float sideSpin;
} spinParamsType;

struct 变量没有错误,但我不知道如何在主函数中调用struct

    void main()
{
     speedParamsType speed;
     spinParamsType spin;
     flightParamsType fData;
     speed.totalSpeed=200.0f;
     speed.launchAngle=30.0f;
     speed.horizontalAngle=5.0f;
     spin.totalSpin=1000.0f;
     flightParamsType fData;
     fData.carry=
     calculateFlightModel(&speed,&spin,&fData);
     getch();
}

这是我在主函数中所做的。它显示错误 C2275: 'flightParamsType' : 非法使用此类型作为表达式 请参阅“flightParamsType”的声明; 语法错误:缺少 ';'在标识符“fData”之前

最佳答案

这是一个用法示例,请注意,除了 #include 指令之外,没有什么特殊需要执行的。

#include "flight.h"

int main(int argc, char *argv[])
{
   spinParamsType a = {1.0f, 1.0f, 1.0f, 1.0f};
   spinParamsType b = {2.0f, 2.0f, 2.0f, 2.0f};
   flightParamsType c; // I don't know what kind of members this struct have.

   calculateFlight(&a, &b, &c);

    return 0;
}

记住编译所有源代码文件并将它们链接在一起

关于从头文件调用 Struct 到 main 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278769/

相关文章:

c - 如何仅使用 x 和 y 位置更改 RGB 值

c - 如何在 C 结构中默认设置变量

c - 如何正确地将函数指针分配给 typedef struct 的元素

json - 如何在golang中初始化以下结构的结构

c - 在这段代码中,为什么 'ename' 应该是 char 指针类型而不是 char 数组?

c++ - 如何获取我的环境的当前语言环境?

c - 我如何在 Arch Linux 上安装 gstreamer(gst lib)

c - 将目标文件存储在构建目录中 (Makefile)

c++ - 将元素添加到现有结构会使函数因段错误而崩溃

c - "(structure identifier)"的重新声明无效