社区
C语言
帖子详情
随便问问, 全局变量和静态全局变量有何不同?它们所处的内存不同吗?
wt13
2002-05-13 02:37:54
够简单吧, 给30分
...全文
45
14
打赏
收藏
随便问问, 全局变量和静态全局变量有何不同?它们所处的内存不同吗?
够简单吧, 给30分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jackstraw
2002-05-13
打赏
举报
回复
静态局部变量在调用完毕后不销毁其值,下次调用依然可以访问到这个值,但是在定义它的函数外面不能访问
wyylbl
2002-05-13
打赏
举报
回复
静态全局变量是把全局变量局部化
对多文件程序而言,全局变量可以在整个程序包含的所有文件中使用,而静态全局变量只能在定义它的文件中使用,在其他文件中不可见
liem
2002-05-13
打赏
举报
回复
全局变量具有外部连接性(其它编译单元可见),全局静态变量不具有外部连接性(其它编译单元不可见)。
Bird008
2002-05-13
打赏
举报
回复
他可以在整个编译的工程中都保持住值,作用范围是整个工程。
hiphop
2002-05-13
打赏
举报
回复
作用个范围不一样~
rivershan
2002-05-13
打赏
举报
回复
看看~
sum_1
2002-05-13
打赏
举报
回复
我认为定义全局变量的初衷是要让所有的地方(编译单元)都能使用它,这样就避免了函数中参数传递所用的时间.
晨星
2002-05-13
打赏
举报
回复
int i;
void f1()
{
static j;
}
void f2()
{
i = 5; //Legal
j = 5; //Illegal
}
benjiamen
2002-05-13
打赏
举报
回复
VIPER() 说得对
如果在单个源文件中,全局变量与静态全局变量没有什么区别。但是在多文件组成的程序里,全局变量与静态全局变量是不同的,全局变量可以在其它源文件中使用,而静态全局变量只能在定义该变量的源文件所独享。
wt13
2002-05-13
打赏
举报
回复
To viper()
您所说的编译单元指什么?是不是指声明变量的文件。
那你的意思是说在a.cpp的文件中生命的static int iA;
在b.cpp使用extern int iA是不行的?
kof99th
2002-05-13
打赏
举报
回复
楼上的已经说的很清楚了,全局变量可以在所有编译单元中被访问,静态全局变量只能在定义他的编译单元被访问.
prototype
2002-05-13
打赏
举报
回复
全局变量 can be used by functions distributed in different files (or translation unit, more strictly speacking), while 静态全局变量 can't (they can only be used by functions defined in the same file).
招RD和QA
2002-05-13
打赏
举报
回复
全局变量范围是全局的,任何编译单元里都是可见的。
静态全局变量只有在定义它的编译单元里才可见。
lutf
2002-05-13
打赏
举报
回复
这其实是一个概念,都在全局存储区(数据段)
如果要比较,应该是全局变量和静态局部变量的比较,这两者其实差别不大(定义的地方不同),都属于全局存储。
Windows内核-
内存
管理
-
全局变量
:编译工具链接的时候就
静态
的分配好了 - 局部变量:调用子函数的时候,在栈上分配 - 通过malloc分配,可以通过free释放,重复利用 - 每个进程都有4GB的空间,但是这4GB空间并不是...
Java 中的 public、protected、package-private 和 private 有什么区别?
在 Java 中,何时使用每个访问修饰符,即默认(包私有)、public、protected 和 private,同时制作 class 和 interface 并处理继承是否有明确的规则?
C 语言学习 第八章 存储类、链接和
内存
管理(二)
回忆一下,使用
全局变量
被认为是一个冒险的方法,因为它暴露了数据,使程序的任何部分都可以错误地修改数据。如果数据是 const 的,这种危险就不存在了,因此对全局数据使用 const 限定词是很合理的。如果这是一个空...
测试开发工程师常见面试题
1. CPU 和 GPU的区别 CPU 力气大啥P事都能干,还要协调。 GPU 上面那家伙的小弟,老大让他处理图形,这方面处理简单,但是量大,老大虽然能处理,可是老大只有那么几个兄弟,所以不如交给小弟处理了,小弟兄弟多,有...
结构体使用方法大全(定义,
内存
大小,初始化,结构数组,结构指针,位域,结构和联合体的嵌套,结构体包含函数指针)
结构体使用方法大全(定义,
内存
大小,初始化,结构数组,结构指针,位域,结构和联合体的嵌套,结构体包含函数指针) “结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章