C语言中static的用法


static在C里面可以用来修饰变量,也可以用来修饰函数。

1.static局部变量

a.生存周期:静态局部变量在函数内定义,生存期为整个源程序;

b.存储方式:当用static修饰时,从原来的栈中存放改为静态存储区;

c.作用域:与自动变量相同,只能在定义该变量的函数内使用,退出该函数后,尽管该变量还继续存在,但不能使用它;

d.初始化:对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值,而对自动变量不赋初值,则其值是不定的。

2.static全局变量

a.存储方式:全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式;

b.作用域:非静态全局变量的作用域是整个源程序(多个源文件可以共同使用),而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效。

3.static函数

只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。区别于一般的非静态函数(外部函数) 。

C语言的静态变量声明static 

C++之static静态修饰符详解

C++中的static关键字

相关内容

    暂无相关文章