,C语言头文件有关问题,怎么做到不相互嵌套包含对方头文件
求助,C语言头文件问题,如何做到不相互嵌套包含对方头文件。
比如:
/***tesmain.h******/
#ifndef _TESMAIN_H_
#define _TESMAIN_H_
#define MAX_ARRAY 20
typedef struct a
{
float array[MAX_ARRAY];
int rear;
int front;
int count;
}*pt_a;
void printa(pt_b strb)
#endif
/******tessub.h********/
#ifndef _TESSUB_H_
#define _TESSUB_H_
typedef struct b
{
float angle;
float vector;
}*pt_b;
void printb(pt_a stra);
#endif
如上,两个头文件需要相互用到对方的数据结构。但我不希望将他们放到一个文件中。请问有什么办法能做到不在头文件中相互包含对方头文件?
------解决方案--------------------
放在另外一个公共文件中吧。
两个都包含他。
不然还不知道有什么好办法。
请楼下大牛告知。。
------解决方案--------------------
比如:
/***tesmain.h******/
#ifndef _TESMAIN_H_
#define _TESMAIN_H_
#define MAX_ARRAY 20
typedef struct a
{
float array[MAX_ARRAY];
int rear;
int front;
int count;
}*pt_a;
void printa(pt_b strb)
#endif
/******tessub.h********/
#ifndef _TESSUB_H_
#define _TESSUB_H_
typedef struct b
{
float angle;
float vector;
}*pt_b;
void printb(pt_a stra);
#endif
如上,两个头文件需要相互用到对方的数据结构。但我不希望将他们放到一个文件中。请问有什么办法能做到不在头文件中相互包含对方头文件?
------解决方案--------------------
放在另外一个公共文件中吧。
两个都包含他。
不然还不知道有什么好办法。
请楼下大牛告知。。
------解决方案--------------------
- C/C++ code
//试试这种方法 其实我也不敢保证一定行 /***tesmain.h******/ #ifndef _TESMAIN_H_ #define _TESMAIN_H_ #define MAX_ARRAY 20 typedef struct a { float array[MAX_ARRAY]; int rear; int front; int count; }*pt_a; void printa(struct b *strb); #endif /******tessub.h********/ #ifndef _TESSUB_H_ #define _TESSUB_H_ typedef struct b { float angle; float vector; }*pt_b; void printb(struct a *stra); #endif
------解决方案--------------------
把公用的结构放到一个文件里
------解决方案--------------------