static关键字

来源:互联网 发布:如花照片软件 编辑:程序博客网 时间:2024/06/01 09:55

在这里介绍static在代码中的作用,如同其意,静态,在自动变量前加上static关键字后,会使这个变量的属性变为静态,但静态又是什么呢?

下面将说说Static关键字主要在两个方面的影响:

(1)static关键字用于修改标识符的链接属性(所谓链接属性可以分为三类:external(外部),internal(内部),none(无)这三种,external表示声明的变量在不同的源文件中都表示同一个变量或者实体;internal表示在同一源文件中的声明都表示同一变量或者实体,在不同的源文件中多个声明则表示不同的实体或者变量值;none总是被当作单独的个体,无论是同一源文件或者不同的源文件中),在全局变量声明中,默认是external属性,如果在前面加上static后,则链接属性变为internal,但存储类型和作用域不受影响(所谓存储类型就是类似存储在堆栈或者寄存器)

(2)当用于代码块内部变量声明时,static用于修改存储类型,将不存储于堆栈中,但链接属性和作用域不受影响,用这种方式声明的变量在程序执行之前创建,并在程序整个执行期间一直存在。

变量类型声明的位置是否存于堆栈作用域如果声明为static全局所有代码块之外  否从声明处到文件尾不允许从其他源文件访问局部代码块起始处  是整个代码块变量不存储于堆栈中,它的值在程序执行期间一直存在形式参数函数头部  是整个函数              不允许


0 0