当前位置:  技术问答>linux和unix

static的作用

    来源: 互联网  发布时间:2017-01-29

    本文导语:  详细点 | http://blog.csdn.net/prettyshe/article/details/7186701 去看看,非常详细 | 1. 全局静态变量   在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。 ...

详细点

|
http://blog.csdn.net/prettyshe/article/details/7186701
去看看,非常详细

|
1. 全局静态变量

  在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量。

  1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。

  定义全局静态变量的好处:

  不会被其他文件所访问,修改

  其他文件中可以使用相同名字的变量,不会发生**。

  2. 局部静态变量

  在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。

  1)内存中的位置:静态存储区

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。

  注:当static用来修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区。但是局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束,只不过我们不能再对他进行访问。

  当static用来修饰全局变量的时候,它就改变了全局变量的作用域(在声明他的文件之外是不可见的),但是没有改变它的存放位置,还是在静态存储区中。

  3. 静态函数

  在函数的返回类型前加上关键字static,函数就被定义成为静态函数。

  函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。

  定义静态函数的好处:

   其他文件中可以定义相同名字的函数,不会发生**

   静态函数不能被其他文件所用。


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












  • 相关文章推荐
  • 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(请将#改为@)

    c/c++ iis7站长之家