baidut / baidut/Programming-in-C

头文件的含义

Open
#6 1 comment 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.