44问答网
所有问题
c语言 为什么静态全局变量可以在别的文件中引用
我见有些网友说静态全局变量只能在本源文件中使用,但是我怎么在别的C文件中也可以使用呢?
举报该问题
推荐答案 推荐于2017-11-28
你要弄明白什么叫别的文件
比如
A 文件中定义了一个 static int i=0;
然后B文件用include包含了A文件,那么对于B文件来说,A文件就不是别的文件,它就是B文件的一部分
静态全局变量只能在本源文件中使用,意思是你不能用extern 来声明另外一个文件里的静态全局变量
比如 A文件里的static int i =0;
那么B文件里extren int i就是行不通的,而如果A文件的i不是static的 , 那么extern int i就可以
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/VRK33GYZ6.html
其他回答
第1个回答 2012-09-19
你是在头文件中声明的吗?
第2个回答 2012-09-19
你弄错了
你把你代码贴上来
相似回答
在
C语言中
,一个文件中定义的
全局变量
,在另一个
文件中能
用吗?
答:
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建
。全局变量是可以被本程序所有对象或函数引用。
在
C语言中
,一个文件中定义的
全局变量
,在另一个
文件中能
用吗
答:
能。因为
全局变量
默认是extern的,函数也是。如果你写了static修饰它就不行了
c语言
工程里其它
文件引用全局变量
?
答:
在
C语言中引用
外部变量,一般使用extern关键字。举个例子如下://1.c 中定义一个变量g_aint g_a = 100;//2.c 中定义一个函数输出g_a#include <stdio.h>extern int g_a; //这里需要用extern说明g_a是一个外部
全局变量
void f() { printf("%d\n", g_a);}//3.c main函数中调用f...
问个问题,
为什么
我定义的static函数
能
被
其他
源
文件
调用。
答:
不能被调用,static有以文件为单位隐藏名字的功能,同一文件指的是.cpp文件以及它所include的.h文件,也就是说,你在一个头
文件里
定义了static的
全局变量
或者,被
其他c
pp文件包含了,被包含一次就相当于在不同
的文件
上定义了同名的static的变量或者函数,你所谓的可以调用的并不是你最初在那个文件上定...
大家正在搜
静态全局变量和静态局部变量
静态全局变量和动态全局变量
静态全局变量可以被改变么
c语言静态全局变量
c语言全局变量怎么用
静态函数怎么使用全局变量
静态全局变量的作用
静态变量与全局变量
全局变量一定是静态变量
相关问题
C语言中全局变量在其他文件中的引用
C语言 static全局变量只被初始化一次 防止在其他源文件...
在C语言中,一个文件中定义的 全局变量,在另一个文件中能用吗
c语言工程里其它文件引用全局变量?
C语言 在头文件中声明静态变量 如何被其他文件使用
c 的全局变量如何在其他源文件引用,放在头文件中有什么利弊
C语言中的静态全局变量问题
C语言,全局变量,静态变量问题