C语言工程内如何调用其它文件的函数和变量?

C语言代码是以“文件”为单位组织进行的。 下面我们通过两个问题的解答,进而展开讲解。

问题1:

同一个工程内,b.c文件如何调用a.c内的全局变量(非静态)和函数(非静态)呢?

答:

有两种方法。

第1种方法:

在b.c文件头部中,直接添加用extern声明要调用的全局变量、函数的语句即可。 (声明全局变量时必须加extern关键字;声明函数时加不加都行,不过建议加上,增加代码可阅读性)

第2种方法:

  1. 首先创建一个a.h的头文件;
  2. 在a.h文件内,添加用extern声明要调用的全局变量、函数的语句。(这里声明函数时一般不用加extern)
  3. 在b.c文件头部添加a.h头文件。#include "a.h"

问题2:

以上2种方法,具体选择哪一个?

答:

两种方法都可以。 不过当a.h文件内还有其它与b.c无关的语句时,而我们又不希望这些无关语句通过 #include “a.h” 而最终加入到b.c文件代码中的话,建议选择第1种方法。

经验分享 程序员 微信小程序 职场和发展