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

static关键字的作用
在C语言中
  • static修饰函数的时候
静态函数:作用范围仅限于它的源文件,即只有本文件内才可以调用,函数名在其他文件内不可
见。
  • static修饰局部变量的时候
局部静态变量:局限于特定函数,但出作用域并不释放,在函数体内静态变量的值也能维持。
  • static修饰全局变量的时候
全局静态变量:作用范围局限于它的源文件,即只有本文件内的代码才可以访问它,变量名在
其他文件内不可见。
  • 存放位置
程序开始时,存放在全局数据区,结束时释放空间,默认初始化值为0,使用时可以改变其值。


static关键字作用的具体描述
  • 隐藏
未加static前缀的全局变量和函数具有全局可见性,static可以作为函数和变量的前缀,对于函
数来讲,static的作用仅限于隐藏。
  • 保持变量内容的持久
static修饰局部变量后,改变了它的存储方式,把局部变量存储到静态存储区,改变了局部变量
的生存期,生存期为整个源程序,作用域仍在定义该变量的函数内。
static修饰全局变量后,改变了它的作用域,限制了它的使用范围,作用域局限于它的源文件,
只有本文件内的代码可以访问,变量名在其他文件不可见。
  • 默认初始化为0
全局变量也具备这一属性,,因为全局变量和被static修饰的局部变量都存放在静态数据区,内
存中所有的字节默认值都是0x00.
总结:static最主要的功能是隐藏,其次static变量存放在静态存储区,所以它具备持久性和默认值0.

你可能感兴趣的:(C语言)