#ifndef与#define与#endif

	在一个大的工程项目中为了方便起见,一般都会建立一个子程序(.c)文件,一个(可以理解为一个包含工程项目中所要实现功能的声明)(.h)文件,还有一个主程序(main.c)的文件。
	而在两个(.c)文件的头文件中都include"标识",当在两个(.c)文件都要同时编译一个可执行文件时,你会发现,编译器会报出大量的声明冲突。

解决办法:(.h)文件
把头文件的内容都放在#ifndef与#endif之间。这样的话,在以后不管被其他多个文件引用都不会再出现大量的声明冲突。建议,不管以后是否被多个文件引用都加上这个。格式如下:
#ifndef <标识>
#define <标识>

#endif

例如sqlist.h
#ifndef SQLIST_H
#define SQLIST_H
void sqlist_display() //子程序的声明
int sqlist_head_add()
int sqlist_tail_add()

#endif
上边只是举例sqlist.h,实际上这个是可以根据个人所需自由命名的,但命名之后这个头文件在其他文件中调用必须是唯一的。命名规则是:1全大写,2下划线。

猜你喜欢

转载自blog.csdn.net/qq_41915323/article/details/85545436