C头文件

如何使用C头文件将程序分成多个文件

可以将简单的程序放在一个文件中,但是当程序变大时,不可能将所有内容都保存在一个文件中。

您可以将程序的各个部分移到单独的文件中,然后创建一个头文件

头文件看起来像普通的C文件,只不过它的结尾是.h代替.c,而不是您的函数和程序其他部分的实现,它包含报关单

首次使用printf()函数或其他I / O函数,您必须输入:

#include <stdio.h>

使用它。

#include是一个预处理器指示。

预处理器去查找stdio.h文件在标准库中,因为您使用了方括号。要包含自己的头文件,将使用引号,如下所示:

#include "myfile.h"

上面会查myfile.h在当前文件夹中。

您还可以对库使用文件夹结构:

#include "myfolder/myfile.h"

让我们举个例子。该程序计算给定年份以来的年份:

#include <stdio.h>

int calculateAge(int year) {
  const int CURRENT_YEAR = 2020;
  return CURRENT_YEAR - year;
}

int main(void) { printf("%u", calculateAge(1983)); }

假设我要移动calculateAge功能到一个单独的文件。

我创建一个calculate_age.c文件:

int calculateAge(int year) {
  const int CURRENT_YEAR = 2020;
  return CURRENT_YEAR - year;
}

还有一个calculate_age.h我放的文件功能原型,该功能与.c文件,但正文除外:

int calculateAge(int year);

现在在主要.c我们可以去掉文件calculateAge()函数定义,我们可以导入calculate_age.h,这将使calculateAge()可用功能:

#include <stdio.h>
#include "calculate_age.h"

int main(void) {
  printf("%u", calculateAge(1983));
}

不要忘了要编译由多个文件组成的程序,您需要在命令行中全部列出它们,如下所示:

gcc -o main main.c calculate_age.c

对于更复杂的设置,必须有一个Makefile来告诉编译器如何编译程序。

免费下载我的C手册


更多clang教程: