staticstatic 修饰全局变量量与普通的static 修饰全局变量量有什么区别

Static全局变量与普通的全局变量有什么区别?static函数与普通函数有什么区别? - Ricky_Zhou - 博客园
随笔 - 81, 文章 - 0, 评论 - 2, 引用 - 0
Static全局变量与普通的全局变量有什么区别?
答:   全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。   由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。   static全局变量与普通的全局变量的区别是static全局变量只初始化一次,防止在其他文件单元被引用。
2.static函数与普通函数有什么区别?答:   static函数与普通的函数作用域不同。尽在本文件中。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。 static函数与普通函数最主要区别是static函数在内存中只有一份,普通静态函数在每个被调用中维持一份拷贝程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)static变量、static函数与普通变量普通函数的区别_文档下载
亿万文档 免费下载
当前位置: &
& static变量、static函数与普通变量普通函数的区别
static变量、static函数与普通变量普通函数的区别
static变量和函数的特点以及比较
static 函数与普通函数
全局变量(外部变量)的说明之前再冠以 static 就构成了静态的全局变量。全局 变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在 存储方式上并无不同。 这两者的区别虽在于非静态全局变量的作用域是整个源程 序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都 是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内 有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域 局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源 文件中引起错误。
static 全局变量与普通的全局变量有什么区别:static 全局变量只初使化一次, 防止在其他文件单元中被引用; static 局部变量和普通局部变量有什么区别:static 局部变量只被初始化一次, 下一次依据上一次结果值; static 函数与普通函数有什么区别:static 函数在内存中只有一份,普通函数在 每个被调用中维持一份拷贝。
C 程序一直由下列部分组成: 1)正文段――CPU 执行的机器指令部分;一个程序只有一个副本;只读,
Word文档免费下载: (下载1-5页,共5页)
这一点是它与堆栈变量和堆变量的区别。 2、变量用 static 告知编译器,自己...static 函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函 数...这一点是它与堆栈变 量和堆变量的区别。 2、变量用 static 告知编译器,自己...static 函数与普通函数作用域不同。 仅在本文件。 只在当 前源文件中使用的...static变量和static函数_IT/计算机_专业资料。static 变量和 static 函数在 C 语言...那 么对于一般成员函数作为回调函数的后果,就是堆栈中有一个随机的变量会成为 ...static变量和static函数的用法摘抄_IT/计算机_专业资料。static变量和static函数的...使用内部函数的好处是: 不同的人编写不同的函数时, 不用担心自己定义的函数,...static函数与普通函数有什么区别? 答:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态...static全局变量与普通的全局变量有什么区别_天文/地理_自然科学_专业资料。(1)用于...因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址, ...变量是在程序加载的时候就为之分配内存的,一直到程序结束, c 语言的 static 变量是在程序加载的时候就为之分配内存的,一直到程序结束,而不像普通变量那样函数 ...C++中堆和栈的区别,关于static变量,union和struct的区别_IT/计算机_专业资料。C++...static 函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数...与之不同的是,变量 a 属于 auto 型变量,每次函数调用进入 f 后,在动态存贮...(2)使用 static 局部变量会导致函数的多次调用之间发生联系,使代码的可读性降低...static变量和static函数的用法摘抄日 星期五 10:09一、 static 变量...这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个...如果一个文件中有全局变量如:
文件中需要用到这个全局变量需要加 extern int i吗?如果全局变量前加static,是不是别的文件中就不能用这个变量了,即使前面加上extern?
extern 表示修饰的成员可以被别的文件引用
static则相反,只在本文件中起作用
在标准模块中定义变量
用PUBLIC 变量 as 类型
C++的语法:
void swap(TYPE &a,TYPE &b)
//TYPE要用具体的类型代替,如 ...
局部变量是指在函数内部定义的变量,作用域为定义局部变量的函数,也就是说他只能在定义他的函数中使用,其他函数不能使用该变量.
最值得注意的是:只有在程序执行到定义...
文件与目录都是有标识的。都有一个头代表是文件夹或文件。文件写入时每组字节之间都是通过一定方式进行链接的,
非正常关机时,不一定会产生错误(产生错误是因为正在存储...
typedef struct ListRow
char data[50];
struct ListRow *
struct L...
答: 有人知道密乐玛游轮(Mirimar Boat Cruise)有没有从龙柏考拉园返程到市里的行程
答: 如果你理解能力强考数据库,其中比如关系数据库之类的需要去领悟
如果你记忆能力强考网络,各种各样的名词,背下来就得分。
还有官方指定的教材要有,上机最好做一做南开...
答: 新年好!首先,你必须了解计算机的组成和结构以及操作系统的运作原理,这是基础
如果你想学习开发多线程、WINDOWS应用、动态链接库、WINDOWS组件的话,建议...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。
static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件
static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
本文已收录于以下专栏:
相关文章推荐
转载地址:http://www.111cn.net/sj/android/90542.htm
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http...
本贴内容来自网络,引用网址为:/%C9%C1%D2%AB%B5%C4%CB%AE%BD%A7/blog/item/7cc9e1d0271d...
Android和iOS上通用的抓包方法: 用Fiddler抓取
作者:雨水/家辉,日期:,CSDN博客:http://blog.csdn.net/gobitan
摘要:在开发和...
最近在做APP的接口测试,研究了一下Fiddler的使用,发现对于移动APP测试Fiddler是一个非常好用的工具。下面对Fiddler的使用做一个总结。
今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以...
在线接口测试工具 :/apiTest/index.html
最近接触到了第一个安卓项目,是关于安卓的接口测试的。于是呼一通找资料,看了五花八门的文章、文档,但是并没有非常适合的。
现在决定把学习的过程写下来,如果能帮到一两个跟我一样情况的就很开心了,开始...
UIdevice提供关于设备的状态信息。你也可以使用这个类来模拟装置上的用户的行为,如按方向键或按菜单按钮。
click(int x, int y)
他的最新文章
讲师:王哲涵
讲师:王渊命
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)全局变量 局部变量和关键字static和extern的使用
&&&&1、关键字static的作用是什么?&定义静态变量&2、static有什么用途?(请至少说明两种)&网上答案:&1).限制变量的作用域(在程序的整个运行期间都不释放)&2).设置变量的存储域(存储在静态存储区内)&谭浩强C语言page180:&(1)对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;&(2)全局变量用static声明,则该变量的作用域只限于本文件模块&谭浩强C语言page182的说明将以上两种答案联系在一起,有助于理解static的作用:&static对于局部变量和全局变量的作用不同。&对局部变量来说,它是变量由动态存储方式改变为静态存储方式。对于全局变量来说,它使变量局部化(局部于本文件),但仍为静态存储方式。&从作用于角度看,凡是static声明的,其作用域都是有限的,静态局部变量局限于本函数内,静态外部变量局限于本文件内。&3、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?&全局变量储存在静态存储区,局部变量在堆栈。&华为:&4、局部变量能否和全局变量重名?&答:能,局部会屏蔽全局。要用全局变量,需要使用&::&&局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。&对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而局部变量的作用域就在定义的循环体内。&5、如何引用一个已经定义过的全局变量?关键字extern的使用说明&答:用关键字extern作外部变量声明&(1)& &用extern可以在一个文件内声明外部变量(谭浩强CPage176)&(2)& &也可以在多文件的程序中声明外部变量。(谭浩强CPage177)&网上的答案是:可以用引用头文件的方式,但是对于这个说法,笔者之前试着用过,记得是不可以,在不同的源文件中包含这个头文件时,在程序连接时会出现重复定义multiple publicdefinitions的错误,而在不同的源文件中使用这个变量时,也会出现multiple publicdefinitions的错误,所以笔者没有使用这种方法,而是使用关键字extern&网上的另一个答案是:也可以用extern关键字,也就是在其中一个源文件中定义外部变量,而在另外使用该变量的源文件开始的位置将这个变量用关键字extern声明。&网上:如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个变量写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。&6、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?&网上答案:可以,在不同的C文件中以static形式来声明同名全局变量。&可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。&笔者按照以上说法去试,出现了&重复定义&的错误,分析:因为变量的定义只能出现一次,否则会导致重复定义。但却可以声明多次。全局变量定义在头文件中。当该头文件被多个c文件包含的话,就会导致重复定义。所以全局变量不可以定义在头文件中。&网上对这道题有人这样说:一般做法是在某个特定的头文件中声明,而在另外一个特定的c文件中定义。需要使用就包含前者。此处的声明我认为应该用extern,不过没有去实践。&7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?&全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。&从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。&static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。&static全局变量与普通的全局变量有什么区别:static全局变量只初始化一次,防止在其他文件单元中被引用;&static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;&static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。&8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中。
请各位遵纪守法并注意语言文明

我要回帖

更多关于 static与全局变量 的文章

 

随机推荐