如何在源文件中共享变量?

在c语言中,使用extern关键字是解决上述问题的最好方法。假设你正在编写一个含有多个源文件的程序,例如,在file1.c中定义了一个变量,在file2.c中需要引用该变量。

在具体讲解之前,需要先了解定义变量和声明变量间的区别

当定义一个变量时,编译器将为该变量分配内存空间。

当声明一个变量时,编译器被告知该变量存在(以及它的类型是..);但此时并不会为其分配内存空间。

一个变量可以被声明多次(尽管一次就足够了),但在指定域中只能被定义一次。

实现方法

file3.h

extern int global_variable;   /* Declaration of the variable */


file1.c

#include "file3.h"   /* Declaration made available here */

int global_variable = 37;  /* Definition checked against declaration */


file2.c

#include "file3.h"

#include <stdio.h>

int main(void)

{

        printf("Global variable: %d\n", global_variable++);

        return 0;

}

运行结果

$ gcc file1.c file2.c file3.h -o file

$ ./file

Global variable: 37

更多实现方法

更多精彩内容,请关注我的个人博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容