当前位置:  编程技术>c/c++/嵌入式

static全局变量与普通的全局变量的区别详细解析

    来源: 互联网  发布时间:2014-10-21

    本文导语:  (1)static全局变量与普通的全局变量有什么区别?(2)static局部变量和普通局部变量有什么区别?(3)static函数与普通函数作用域有什么不同?(4)static函数与普通函数有什么区别? (1)static全局变量与普通的全局变量有什么区别?答:...

(1)static全局变量与普通的全局变量有什么区别?
(2)static局部变量和普通局部变量有什么区别?
(3)static函数与普通函数作用域有什么不同?
(4)static函数与普通函数有什么区别?

(1)static全局变量与普通的全局变量有什么区别?
答:全局变量的说明之前再加以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。

(2)static局部变量和普通局部变量有什么区别?
答:static局部变量只被初始化一次,下一次依据上一次结果值;

(3)static函数与普通函数作用域有什么不同点?
答:仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。

(4)static函数与普通函数有什么区别?
答:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java之static关键字用法实例解析
  • C语言static修饰函数详细解析
  • c语言中static和extern的用法详细解析
  • php static延迟静态绑定实例解析
  • 解析static在C和C++中的用法以及区别
  • C语言中auto,register,static,const,volatile的区别详细解析
  • C语言基础知识点解析(extern,static,typedef,const)
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: static定义及介绍
  • 哪位能谈谈static方法内为什么不能包含static inner class?
  • java命名空间java.lang.reflect类modifier的类成员方法: static定义及介绍
  • non-static class为什么不可以包含static methods and fields
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: static_init定义及介绍
  • SCJP -- static method can not access non-static variable?
  • non-static inner class为什么不可以包含static methods and fields
  • 1.在程序中用static final与用static或不加上这些标志的具体区别是什么? 2.工程建库
  • 内部内不可拥有static数据或static 内部内!!!!!!!!!
  • static
  • static 类和普通类的区别??
  • node-static
  • 请前辈谈谈static的机制!
  • final 与static
  • about static
  • 关于static块的问题
  • 请教static问题
  • static在类定义中的作用
  • static方法有没有多线程的问题?
  • 帮我解释static
  • 关于static关键字的一些模糊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3