关于多文件编译的一个疑惑?

要求写一个用vs2019写一个计费系统 ,我如果把数据结构都定义在一个model.h头文件中,但是很多源文件都需要model.h中的数据,这个时候多文件一起编译就会出现重复定义而报错,model.h只能在一个.c文件中使用 那么其他.c文件就用不了model.h的数据了,到底怎么办才能让多个.c文件使用同一个.h文件中定义的数据呢(如果不写多个.h头文件)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:关于文件的处理

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

该回答内容部分引用GPT,GPT_Pro更好的解决问题
在 Visual Studio 2019 中,多文件使用同一个 h文件中定义的数据时,可以使用 #include 预处理指令来解决。举个例子,假如我们有一个 model.h 头文件,里面定义了一个结构体struct A。我们希望在 main.cpp 中和 func.cpp 中都使用这个结构体,可以通过下面的方法来实现:

在 main.cpp 和 func.cpp 中都加入 #include "model.h" 预处理指令,这样就可以在 main.cpp 和 func.cpp 中使用 model.h 中定义的结构体struct A 了。

//main.cpp

#include "model.h"

int main() {
    // 在这里使用model.h中定义的struct A
    struct A a;

    return 0;
}

//func.cpp

#include "model.h"

void func() {
    // 在这里使用model.h中定义的struct A
    struct A a;

    // 其他代码...
}

如果回答有帮助,望采纳。