1、模块化编程概念
所谓模块化编程,就是多文件(.c文件)编程,一个 .c 文件和一个 .h 文件可以被称为一个模块。
如果你学习C语言很久了,还只会在一个 .c 文件里写代码,那么今天将会让你突破,带你了解多文件编程,教你学会如果有效的组织各个文件,如何将各个文件联系起来。
在以下场景中会使用头文件:
(1) 通过头文件来调用库功能。
在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功 能,而不必关心接口怎么实现的。
(2) 多文件编译。
将稍大的项目分成几个文件实现,通过头文件将其他文件的函数声明引入到当前文件。
(3) 头文件能加强类型安全检查。
如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的 规则能大大减轻程序员调试、改错的负担。
2、多文件开发
3、多文件开发的注意事项
关于头文件的内容,初学者还必须注意:
1)头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不要写具体的语句。
2)可以声明函数,但不可以定义函数。
3)可以声明常量,但不可以定义变量。
4)可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。
5)结构的定义、自定义数据类型一般也放在头文件中。
6)多文件编程时,只能有一个文件包含 main() 函数,因为一个工程只能有一个入口函数。我们把包含 main() 函数的文件称为主文件。
7)为了更好的组织各个文件,一般情况下一个 .c 文件对应一个 .h 文件,并且文件名要相同,例如 fun.c 和 fun.h。
8)头文件要遵守幂等性原则,即可以多次包含相同的头文件,但效果与只包含一次相同。
9)防止重复包含的措施
#ifndef MY_INCLUDE_H #define MY_INCLUDE_H //头文件内容
#endif