C语言中,全局变量和外部变量有什么区别!

 我来答
但莉vM
推荐于2017-09-25 · TA获得超过182个赞
知道答主
回答量:122
采纳率:0%
帮助的人:51.8万
展开全部
全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。 有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。 也可用static声明外部变量,使该变量不能被其他文件引用。有时候他们是一样的,只有稍微一点的区别而已,不用太过于区分的。
匿名用户
2013-09-05
展开全部
外部变量也是全局变量,被定义成外部变量是指这个变量没有在当前代码中,而是在另一个代码或二进制文件中。比如我在a.c中定义了变量myvar,还有一个文件b.c,它要用a.c中的myvar,这就要让b.c知道myvar怎么定义的,有两种方法,一种是include a.c,但一般不这么做;还有一种方法是在b.c中也定义myvar,这个定义和a.c中一样,但是外部的(extern)。其实大部分时候是在a.h中声明(declare)extern myvar,然后在a.c中定义(define)myvar。b.c要用时include a.h就可以了

外部变量是全局变量,它没在当前的代码中定义
全局变量为非static的变量,并不在函数中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式