不管在C还是在C++程序中,都需要包含头文件,如果一个主函数需要两个文件a.c,b.c,对应的头文件是a.h,b.h,那么在主函数中用的时候需要将a.h和b.h都包含进来,那么就可以在主函数中调用a.c,b.c/a.cpp,b.cpp中的函数,但是如果在b.h中也包含了a.h,那么在主函数中就会产生重复定义,编译器就会报错,因此在编写头文件的时候要加上防卫式声明,即
#ifndef xxx
#define xxx
***//.h文件的内容
#endif
xxx经常被定义为下划线加大写的.h文件名,如#ifndef _A_H_
#define _A_H_
#endif
以前也这么做过,但是没有注意过,没有刻意的理解它,今天又有点领悟了。