C语言 static 修饰符

在C语言中,static通常有2种含义:

  1. 定义变量的生命周期
  2. 定义变量或者函数的作用域

定义变量的生命周期

变量的生命周期是指,相对于程序运行的进程生命周期,变量存在的时间段。变量的生命周期由变量的存储类型(位置)决定。因此static的第1种含义也可以理解为,static定义了变量的存储类型(位置)。

定义变量或者函数的作用域

C语言中,变量存储位置分为栈、全局静态区、堆。栈用来做函数调用,参数传递等,在程序的运行过程中是操作最频繁的数据区。全局静态区,是变量一直存在于内存中,在程序整个运行过程中不会被销毁。堆,是由操作系统维护的大空间内存伸缩区,进程可以主动向操作系统申请使用堆的存储,在程序运行过程中动态申请。

由static修饰的变量,其存储类型为全局静态区,变量在程序的整个运行过程中不会被销毁,并且只会被初始化一次默认初始化为0X00

posted @ 2017-03-04 13:26  历史漫步  阅读(279)  评论(0)    收藏  举报