C如何定义一个变量使他在其他源文件中也可以被使用同一个工程下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C如何定义一个变量使他在其他源文件中也可以被使用同一个工程下相关的知识,希望对你有一定的参考价值。

比如A.c中定义了,B.c中也可使用,请举例详细说明,谢谢

定义成全局变量即可。
1 定义:
在所有函数之外定义。形式为
type var = init_value;
即定义一个名字为var,类型为type的全局变量。并初始化为init_value。初始化部分可以省略,这时var将自动被初始化为0值。

2 引用:
在同工程中任意源文件中声明后,即可使用该变量。声明格式如下:
extern type var;
注意,这里的type的var必须与原始定义完全相同,且不能有初始化值。
参考技术A 定义成全局变量 然后使用extern 在其他文件中说明一下就可以了。

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。

在 A.c的上定义一个全局变量 int g_test;
然后在B.c的写上 extern int g_test;
就可以使用了。追问

谢谢你,试了一下感觉有问题呀,那么我在A.hextern int a中定义,然后包括头文件,再在a.c中和b.c中定义也定义int a行不行

本回答被提问者和网友采纳
参考技术B #define 试试吧

以上是关于C如何定义一个变量使他在其他源文件中也可以被使用同一个工程下的主要内容,如果未能解决你的问题,请参考以下文章

ruby在一个文件中定义的变量,如何在下一个文件中使用该变量

C语言中如何定义全局变量

java中哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?

c++ 在编译时对define所定义的变量是怎么处理的?

c语言局部变量可以被其他的原文件引用吗

C语言可以在不同的源文件中定义相同名字的全局变量吗