Skip to content

C语言中.h和.c文件解析

要理解C文件与头文件(即.h)有什么不同之处.

本质上没有任何区别。 只不过一般:.h文件是头文件,内含函数声明、宏定义、结构体定义等内容

.c文件是程序文件,内含函数实现,变量定义等内容。

比方说在aaa.h里定义了一个函数的声明,然后我在aaa.h的同一个目录下建立aaa.c ,aaa.c里定义了这个函数的实现,然后是在main函数所在.c文件里#include这个aaa.h 然后我就可以使用这个函数了。 main在运行时就会找到这个定义了这个函数的aaa.c文件。

案例

当一个项目比较大之后,我们希望分模块管理,这个时候就需要把一部分方法放在独立的文件中。

在main方法中如何引用这些文件呢?

一、gcc 比如我有一个function.c文件,里面包含了我的函数体

#include "function.h"

int add(int a,int b){
    return a+b;
}

然后我把它抽象到一个function.h文件中

#include<stdio.h>

int add(int a,int b);

在main.c中就可以这样写

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

int main(){
    int a=1,b=2;
    int c=add(a,b);
    printf("c=%d\n",c);
    return 0;
}