FAQ

static关键字

C程序中static修饰变量、函数的作用

Posted by Dandan on November 19, 2019

前言

statics是C语言的一个修饰符,可以改变变量以及函数的存储方式和可见性。

局部变量

  • 生命周期:只初始化一次,下次进去局部函数,变量扔延续上次的值,程序结束才释放。
  • 存储位置:普通局部变量通常存储在栈区,静态局部变量变成全局数据区,即数据段。
  • 初始化值:局部变量未初始化值不确定,静态局部变量未初始化值为0。
  • 作用域:也仅限于所在函数,但是多次调用之间保持不变。

    全局变量

  • 可见性:只在该文件可见, extern也不行。
  • 存储方式不变, 仍为静态存储。
  • 默认未初始化值均为0。

    函数

  • 作用域:static修饰的函数只在本文件可用。