关于C语言全局变量与局部变量的问题.

什么是全局变量?什么是局部变量?... 什么是全局变量?什么是局部变量? 展开
 我来答
海狮2D
2011-12-18 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:988万
展开全部
二楼的不知道是不是书上的定义,回答的不错,不过我补充一些。

在括号体里{}定义的是局部变量,它的生命周期是该块结束。局部变量需要自己初始化,并且位于堆栈中。

如果用static前缀,如在源文件开头的话是本原文件的全局变量,如果在所有函数前定义不加static的话就是全局变量。 --- 这个静态的非常复杂,静态全局和全局和局部都不一样,静态全局实际上生命周期不同,和全局变量类似,它的生命周期和文件无关,跨文件访问也是正确的,只是改变了可见性,即你不能直接在其他文件中看见。

对于全局变量,不是static的,也不在任何块内。生命周期是整个程序的运行过程,可见性也是整个程序。extern的作用仅仅是告诉编译器,那个变量的类型,要不然编译器不认识那个变量。所以同一个文件里,extern 和 不带extern的声明可以同时存在。
workerwork
2011-12-21
知道答主
回答量:28
采纳率:0%
帮助的人:9.1万
展开全部
作用域不同。
生命周期不同。
理解这两个就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
11CD
2011-12-21
知道答主
回答量:3
采纳率:0%
帮助的人:4828
展开全部
在函数外面定义的,是全局变量,能被整个源程序使用。
在函数里面定义的,是局部变量,只能在该函数里使用。
如 #include<stdio.h>
int a=2; \全局变量
int main()
{
int b=1; \局部变量
.......... \省略
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdilixinming
2012-03-02
知道答主
回答量:1
采纳率:0%
帮助的人:1641
展开全部
全局变量所有的块都能使用,局部变量只能在定义他的块中使用。他俩生命周期也不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
循个
2011-12-22
知道答主
回答量:6
采纳率:0%
帮助的人:8862
展开全部
定义在函数外部的是全局变量,定义在函数内部的是局部变量.主要看它定义后所牵涉的范围..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dingying1230
2012-01-02
知道答主
回答量:19
采纳率:0%
帮助的人:5.1万
展开全部
他们都回答的很好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式