C语言 多文件程序

在 C 语言中,如果一个源代码文件过于臃肿,可以考虑分成几个文件。

一、多文件程序

  • 在 IDE 中新建项目

  • 将各个源代码文件加入项目

  • IDE 会将一个项目中的所有源代码文件编译后链接起来

  • 部分 IDE 有编译和构建两种选项,前者是对单个源文件编译,后者是对整个项目做链接

二、全局变量声明

如果想要在一个文件中调用另一个文件的全局变量,需要对其声明。

1
extern int a;

具体请看:

C语言 全局变量、局部变量和静态局部变量

三、外部函数声明

如果想要在一个文件中调用另一个文件的函数,需要对其声明。

1
int max(int a, int b);

具体请看:

C语言 第四章-函数

四、头文件

1.头文件

一般的做法是每个文件都设置一个同名的 .h 文件,把所有对外公开的函数原型和全局变量的声明都放进去。

在使用和定义这个函数的地方都应该 #include 这个头文件。

2.重复声明

在同一个编译单元(文件)里,同名的结构不能被重复声明。因此需要“标准头文件结构”。

3.标准头文件结构

1
2
3
4
#ifndef 标识符
#define 标识符
程序段
#end if

在程序段中填入需要 include 的头文件或变量、函数声明。

如果标识符已经被 include 过,#ifndef 便会为否,程序段被跳过。这样就可以避免重复声明的问题。

参考