1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > static关键字:静态局部变量 静态全局变量与静态函数详解

static关键字:静态局部变量 静态全局变量与静态函数详解

时间:2021-04-29 02:17:13

相关推荐

static关键字:静态局部变量 静态全局变量与静态函数详解

static关键字

1.static修饰局部变量:静态局部变量2.static修饰全局变量:静态全局变量3.static修饰函数:静态函数

1.static修饰局部变量:静态局部变量

概念:static修饰局部变量就使之成为静态局部变量

初始化:静态局部变量的初始化只会在第一次进入这个函数时做,当离开函数的时候,静态局部变量会继续存在并保持其值,以后进入函数时会保持上次离开时的值。

作用域:静态局部变量的作用域并未发生变化,在其所在的局部范围,也就是其所定义的代码块内部。

生存期:静态局部变量实际上是特殊的全局变量,它们位于相同的内存区域,内存分为栈区,堆区,静态存储区,静态局部变量和全局变量都位于静态存储区,因此静态局部变量的生存期与全局变量一样,随程序启动而生,随程序结束而消亡。

由此可见,static修饰局部变量只是改变了变量的生命周期,让静态局部变量出了作用域依然存在,随程序启动而生,随程序结束而消亡。

2.static修饰全局变量:静态全局变量

全局变量的作用域是整个工程,也就是说全局变量可以在整个项目中的任意的一个源文件被使用,这是因为全局变量具有外部连接属性,当一个全局变量被static所修饰的时候,这个全局变量的外部连接属性就变成了内部连接属性,即成为了静态全局变量,使得这个静态全局变量只能在自己所在的编译单元中被使用,而不能被其它编译单元所使用,否则会出现连接性错误。

3.static修饰函数:静态函数

函数也是具有外部连接属性的,当某个编译单元需要使用其他编译单元中的函数,只需要声明该函数,然后就可以使用,当一个函数被static所修饰的时候,这个函数的外部连接属性就变成了内部连接属性,也就成为了静态函数,使得这个静态函数只能在自己所在的编译单元中被使用,而不能被其它编译单元所使用,否则会出现连接性错误。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。