1. 主页
  2. 文档
  3. C语言教程
  4. C语言预处理器
  5. 如何用C编写自己的头文件?

如何用C编写自己的头文件?

众所周知,扩展名为 .h 的文件在 C中称为头文件。这些头文件通常包含我们可以在 C 主程序中使用的函数声明,例如需要在 C 程序中包含 stdio.h在程序中使用函数 printf()。那么问题来了,是否可以创建自己的头文件?

上面的答案是肯定的。头文件是简单的文件,您可以在其中声明可以在主程序中使用的自己的函数,或者在编写大型 C 程序时使用这些函数。
注意:头文件通常包含数据类型、函数原型和 C 预处理器命令的定义。

下面是创建自己的头文件并相应地使用它的简短示例。

  • 创建 myhead.h :编写以下代码,然后将文件保存为myhead.h或者您可以提供任何名称,但扩展名应为 .h,表示其为头文件。
// It is not recommended to put function definitions 
// in a header file. Ideally there should be only
// function declarations. Purpose of this code is
// to only demonstrate working of header files.
void add(int a, int b)
{
printf("Added value=%d\n", a + b);
}
void multiply(int a, int b)
{
printf("Multiplied value=%d\n", a * b);
}
  • 在其他程序中包含 .h 文件:现在我们需要将 stdio.h 包含为 #include 才能使用 printf() 函数。我们还需要将上述头文件 myhead.h 包含为#include”myhead.h”。这里的“ ”用于指示预处理器查找当前文件夹,如果在当前文件夹中没有找到,则进入所有头文件的标准文件夹。因此,如果您希望使用尖括号而不是“”来包含您的头文件,您可以将其保存在头文件的标准文件夹中。如果您使用“”,则需要确保您创建的头文件保存在您将使用此头文件保存 C 文件的同一文件夹中。
  • 使用创建的头文件:
// C program to use the above created header file
#include <stdio.h>
#include "myhead.h"
int main()
{
add(4, 6);

/*This calls add function written in myhead.h 
and therefore no compilation error.*/
multiply(5, 5);

// Same for the multiply function in myhead.h
printf("BYE!See you Soon");
return 0;
}

输出:

Added value:10
Multiplied value:25
BYE!See you Soon

注意:上面的代码编译成功并打印上面的输出只有当你创建了头文件并将其保存在与上面的 c 文件相同的文件夹中。

要点:
在编写大型 C 程序时,通常需要创建头文件,以便模块可以共享函数定义、原型等。

  • 函数和类型声明、全局变量、结构声明,在某些情况下还包括内联函数;需要集中在一个文件中的定义。
  • 在头文件中,不要使用多余的或其他头文件;只有最小的一组语句。
  • 不要将函数定义放在标题中。将这些东西放在一个单独的 .c 文件中。
  • 包括对链接器可见其定义的函数和变量的声明。此外,在多个源文件之间共享的数据结构和枚举的定义。
  • 简而言之,只放必要的东西并保持头文件简洁。

本文只是让您了解头文件的创建和使用,但这并不是您编写大型 C 程序时实际发生的情况。在编写大型 C 程序时,通常需要创建头文件,以便模块可以共享函数定义、原型等。

 

 

 

这篇文章对您有用吗?