我有一个C程序(基于链表的商店数据库,每个商店都有一个子链表产品)。
我有4个.c文件:
-> interface.c //functions for interface | #include interface.h
-> products.c // funcs for managing product list | #include products.h
-> shop.c // funcs for managing shop list | #include shop.h
-> main.c // int main(); only | #include main.h
我有4个.h文件:
-> interface.h // prototypes from interface.c | #include main.h
-> products.h // prototypes from products.c | #include main.h
-. shop.h // prototypes from shop.c | #include main.h
-> main.h (I put there my global constants from #define, enum and structs from shop linked list and product sub linked list and standard libraries like stdio etc.)
顺便说一句。项目有效,但在main.c()中,Visual Studio强调每个函数。 这是我将项目拆分为.c和.h文件的正确方法吗?
答案 0 :(得分:3)
以下是关于organizing C programs的一些不错的幻灯片。
关于标题以及如何使用和管理它们,您可以阅读these guidelines。
Visual Studio可能会强调您的功能,因为您没有在IDE中设置正确的包含路径,或者您没有#include
所有必需的标题。
答案 1 :(得分:1)
是的,您可以通过这种方式拆分该项目,但是在main.c文件中,您需要包含每个头文件,这就是VS显示行的原因。
答案 2 :(得分:1)
您还必须在以下类型中关闭.h文件的代码。
#ifndef _HEADERFILE_NAME_H_
#define _HEADERFILE_NAME_H_
..... <your code will be here>
#endif
#ifndef _HEADERFILE_NAME_H_
#define _HEADERFILE_NAME_H_
..... <your code will be here>
#endif