C语言中文件包含.c文件、.h文件与直接多文件的区别与应用总结

  • Post author:
  • Post category:其他



我们通常在完成一个程序时,往往习惯将程序写为多文件的,这样就能实现程序的模块化管理,以及分工开发合作。而一些全局变量,全局函数,结构体等就能使各模块联系在一起。


在平常大家写代码的过程中,通常会使用文件包含来联系各代码文件,当然初学者也可能会直接写成多文件程序,没有文件包含,这样也能编译、运行。


在这里,写了一些小段的测试代码,来说明:包含.c文件,,直接多文件,

包含.h文件


三种方式的区别与应用。



1.包含.c文件


可能有人不习惯写.h文件,而直接将代码写在.c文件中,其他文件要调用函数则直接包含.c文件。正如下面一段代码:

//fun.c
int h = 0;
int cal(int a, int b)
{
    return (2*a+3*b);
}


//main.c
#include "stdio.h"
#include "fun.c"   //包含.c文件
int main(void)
{
    h = 1;   //直接使用fun.c中的变量
    int i = 1,j = 2;
    int c = 0;
    c = cal(i, j);  //直接调用fun.c中的函数
    printf("%d\n", c);
    return 0;
}


编译:gcc main.c -o main     直接编译通过,运行正确。


我们再看一个测试程序:

//fun.c
int h = 0;
int cal(int a, int b)
{
    return (2*a+3*b);
}

//fun1.c
#include "fun.c