16-C语言模块化编程(多文件编程)

 

一、模块化编程概念程序员

     所谓模块化编程,就是多文件(.c文件)编程,一个 .c 文件和一个 .h 文件能够被称为一个模块。 编程

     若是你学习C语言好久了,还只会在一个 .c 文件里写代码,那么今天将会让你突破,带你了解多文件编程,教你学会若是有效的组织各个文件,如何将各个文件联系起来。 安全

  在如下场景中会使用头文件:模块化

(1) 经过头文件来调用库功能。函数

    在不少场合,源代码不便(或不许)向用户公布,只要向用户提供头文件和二进制的库便可。用户只须要按照头文件中的接口声明来调用库功 能,而没必要关心接口怎么实现的。 学习

(2) 多文件编译。spa

    将稍大的项目分红几个文件实现,经过头文件将其余文件的函数声明引入到当前文件。 调试

(3) 头文件能增强类型安全检查。blog

     若是某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的 规则能大大减轻程序员调试、改错的负担。 接口

二、多文件开发 

 

三、多文件开发的注意事项

关于头文件的内容,初学者还必须注意:

  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 

相关文章
相关标签/搜索