当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

C语言中,关键字static的作用

发表于: 2009-11-12   作者:e200702084   来源:转载   浏览:
c C++ C#
摘要: 在C语言中,关键字static有三个明显的作用: 1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。 一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访

在C语言中,关键字static有三个明显的作用:

1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访问空间,因此访问到的是上次调用后的值。

2) 在文件模块内(但在函数体外),一个被声明为静态的全局变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。限制静态全局变量的作用域。

3) 在文件模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。函数默认情况下是全局函数,可以被任意其它文件模块调用。

C语言中,关键字static的作用

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)
 auto 局部变量(自动储存) break 无条件退出程序最内层循环 case switch语句中选择项 char 单
##和# 今天应该是“长见识”了,毕竟#用的多,但是##我用的太少了。或者说,我感觉##在代码里面出现
google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之
Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者
上一讲中大致介绍了变量的类型,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域。
上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;exter
C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)
你能很随意地说出C语言中 auto,register,volatile,extern,static,const这几个关键字的含义和用法
答案应该是编译时赋值。 验证过程: 随便写一个c语言程序,如下: #include "stdio.h" int main(){
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号