一个函数文件要用到另一个函数文件中定义的函数时,可以加extern对该函数进行声明。如果有多个函数文件要用到该函数时这就可能要多次进行声明,重复的代码是需要避免的,因此自己写一个头文件是很有必要的。
例如:写一个头文件stack.h
注: void push(char c)、char pop(void)、int is_empty(void)的函数定义省略。
/* stack.h */
# ifndef STACK
# define STACK /*宏定义名就用头文件名的大写形式,这是规范的做法*/
extern void push(char c);
extern char pop(void);
extern int is_empty(void);
# endif
这样在main函数中只要包含这个头文件就可以了,而不需要写三个函数声明。如:
/* main.c */
# include <stdio.h>
# include "stack.h"
int main(void)
{
......
}
注意:
stack.h用引号而不用角括号的原因如下:
对于角括号包含的头文件,gcc首先查找-I选项指定的目录,然后查找系统的头文件目录(通常是/user/include);而对于引号包含的头文件,gcc首先查找包含 .c文件所在的目录,然后查找-I选项指定的目录,然后查找系统的头文件目录。
本文介绍如何通过创建自定义头文件来避免在C语言项目中重复声明函数。利用头文件,可以在多个源文件中共享函数声明,提高代码复用性和整洁度。文章还解释了使用引号而非角括号包含头文件的原因。
7137

被折叠的 条评论
为什么被折叠?



