static在c语言中的用法有三个:隐藏、保持变量内容的持久、默认初始化为0。
一、隐藏
当我们同时编译多来自个文件时,所有未360问答加static前缀的全局变量和函数都具有全局可见性。
二、保持变量内容的持久
存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见汽永调书假东德核运题范围,说到底static还是用来隐藏的。
三、默认初城婷被报斗督程始化为0
全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存解径海压鲜门环农中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。
static简介
像在VB,C#,C,C++,Java,PHP,Objecti上原女扬政色散针才ve-C,JavaScript中我们可以看到static作为关键字和函数出现,预己视液他就展带在其他的高级计算机语言如FORTRAN、ALGOL、COBOL、BASIC、LISP专、SNOBOL、PL/1、Pascal、PROLOG、Ada等语言中也是有出现的丰但马木电静际于,只是有着不同的作用,对于其具体作用,读者有需要的时候是可以具体查阅的。
一般程序把新产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量)也存放在全局数据区。
以上内容参考百度百科展坐兰紧慢宗给-static