baidut / baidut/Programming-in-C
头文件的含义
- Dominant language
- C
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
多文件编程,就相当于多个人共事,比如Tom.c Bob.c Jack.c,
其中Bob会粘东西,(Bob.c里面实现了粘东西的方法)
如果Tom需要粘个东西,可以叫Bob来粘,这时只需要添加一个函数声明即可:
extern bob();
然后就可以调用该方法了。
但实际上Tom不知道Bob会粘东西,Bob.h的作用就是告诉其他人Bob可以干什么,在Bob.h中放上
extern bob(); // 粘东西
即可。这样Tom需要调用Bob时,就只需要
# include "Bob.h" 就行了
当然这句include也是要放在 Tom.h里面的,这说明了Tom用到了Bob。
h文件的作用是说明接口,说明对应c文件能够做什么,并说明调用了那些其他的文件
前面说的是方法function,下面说变量。
Bob粘东西用的变量是胶水,如果Bob在bob.h中声明了这个变量的话,那么大家就知道bob有胶水了,通过#include "Bob.h"就可以取得对该变量的访问权,进而可以随意的使用胶水,Bob肯定不希望这样,所以,通常情况下,可以隐藏的变量就隐藏,只供内部访问,否则就可能被其他人误用(同名变量)或者改写,而需要提供给其他人的话,则把extern变量声明放在.h里面。
Tom.h通过#include "Bob.h" 获得该变量的访问权。
说了这么多,其实就是头文件(Tom.h)中一般不直接写引用外部变量(extern int abc;),而是写引用外部的头文件(#include "Bob.h")和说明要暴露的Tom.c的变量和函数
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.