问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

静态全局变量和全局变量有什么区别

发布网友 发布时间:2022-04-22 07:44

我来回答

5个回答

热心网友 时间:2022-06-17 23:42

全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。全局静态变量是显式用static修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。

拓展资料

全局变量也称为外部变量,它是在 函数外部定义的变量。 它不属于哪一个 函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。

全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作用域的影响(也就是说,全局变量的生命期一直到程序的结束)。如果在一个文件中使用 extern关键字来声明另一个文件中存在的全局变量,那么这个文件可以使用这个数据。

在全局变量前加一个 static,使该变量只在这个源文件中可用,称之为全局静态变量,全局静态变量就是静态全局变量。

在多文件组成的程序里,全局变量与全局静态变量是不同的。在某一层次声明的变量的作用域就终止于该变量所在层次的末尾。唯一的区别是全局静态变量使得该变量成为定义该变量的源文件所独享。如果在一个文件中使用 extern关键字来声明另一个文件中存在的静态全局变量,这个文件也不能够使用这个数据。

热心网友 时间:2022-06-17 23:43

全局变量与全局静态变量的区别:

1.若程序由一个源文件构成时,全局变量与全局静态变量没有区别。

2.若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的。

3.具有外部链接的静态,可以在所有源文件里调用,除了本文件,其他文件可以通过extern的方式引用。

拓展资料:

全局变量:是编程术语中的一种,源自于变量之分。变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。

静态全局变量的作用:

1.不必担心其它源文件使用相同变量名,彼此相互独立。

2.在某源文件中定义的静态全局变量不能被其他源文件使用或修改。

3.只能在本文件中使用。具有内部链接的静态,不允许在其他文件里调用。

热心网友 时间:2022-06-17 23:43

全局变量与全局静态变量的区别:
(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。
(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的。
(c)具有外部链接的静态;可以在所有源文件里调用;除了本文件,其他文件可以通过extern的方式引用;

静态全局变量的作用:
(a)不必担心其它源文件使用相同变量名,彼此相互独立。
(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改。
(c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;

热心网友 时间:2022-06-17 23:44

楼上说的很好,但是我再补充点,就我个人理解:
全局变量其实也是代码,所以他是保存在PE文件的代码段中的,而静态变量是保存在数据段中的。

热心网友 时间:2022-06-17 23:45

在全局变量前加一个static,使该变量只在这个源文件中可用,称之为全局静态变量,全局静态变量就是静态全局变量。
1.全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。
2.全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作用域的影响(也就是说,全局变量的生命期一直到程序的结束)。如果在一个文件中使用extern关键字来声明另一个文件中存在的全局变量,那么这个文件可以使用这个数据。

3.在全局变量前加一个static,使该变量只在这个源文件中可用,称之为全局静态变量,全局静态变量就是静态全局变量。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪些女人不值得男人珍惜? 潘集区第一小学优秀学生 优秀干部登记表 ...没想到洗几次更大了 有什么办法能让他变小点吗 纯棉的 济南哪里卖手机放心,便宜 飞利浦手机在烟台的售后服务在哪里 ? 济南哪里有飞利浦专卖店 微信群内发红包,怎么会让陌生人就领取了???为什么?? 我的戴尔笔记本电脑 无意中出现飞行模式。关闭不了。求大家帮忙_百度知 ... 什么是受伤庄股 生态系统中的信息包括营养信息吗 便携式电子称不准可不可以调 花生的营养价值 信息的种类有物理信息 化学信息 营养信息 和信息 营养信息 如何用paypal购买Q币? 英伟达控制面板程序设置(不是全局设置)里为什么纹... 关于Paypal付款,急……! 人教版中生物生态系统的信息中除了那三个还有一个... NVIDIA控制面板的3D设置中程序设置。比如守望,联... 谁知道怎么转换二进制到其他进制 NVIDIA显卡全局设置里为应用程序选择集成和独立2种... 在endclothing上买东西如何用paypal付款呢? 全局代理和局部代理的区别? paypal购物账户可以收款吗 怎样换算二进值? 什么是行为信息,?什么是物理信息,?什么是化学信息?... 淡水路亚对象鱼详解路亚淡水鱼用什么饵 什么是营养信息 自然数怎么转换成2进?? 卢姓男孩取名 生态系统的信息传递特征是什么? 随处可见的营养信息,降低胆固醇哪个方法最简单? 帮忙给一个卢姓的男孩取个好听的名字 食品包装袋上的营养价值表怎么看? 起男孩名字姓卢 营养成分表的国家规定 有品WiFi秤好还是蓝牙秤好? 急急急!!!大家给姓卢的男孩起个名子。谢谢大家。 姓卢的男孩起个好听的名字? 姓卢男孩的取什么名字好呢? 生态系统的"营养"信息的传递系统是什么? 姓卢的男孩取什么名字好听 男孩姓卢起什么名字好听 百合的营养成份是什么 给姓卢的男孩儿起名。录用再加100分. 抖音给我们的作品点赞量和关注量我们每天可以用完吗 鸡胗的营养价值是什么? 给姓卢的小男孩起个名 哪些食品可以豁免标识营养标签