c语⾔static的⽤法_C语⾔关键字static的⽤法
接上⽂:C语⾔的32个关键字
C语⾔ static 关键字的常见⽤法有三种:
⽤于局部变量的修饰符;
⽤于全局变量的修饰符;
⽤于函数的修饰符。
1、⽤于局部变量的修饰符
当 static ⽤于修饰局部变量时,通常是在某个函数体内,只能在该函数内被调⽤。
这样定义的变量通常被称为局部静态变量,它的值不会因为函数调⽤的结束⽽被清除,当函数再次被调⽤时,它的值是上⼀次调⽤结束后的值。
如下⾯这段代码所⽰,变量 x 是局部变量,变量 y 是静态局部变量。在调⽤函数后,变量 x 的值会被清除,⽽变量 y 的值则会被保留。多次调⽤该函数,变量 x 每次都会从新初始化,⽽变量 y 的值则不会。
静态局部变量的特性:
存储位置:处于静态存储区,当⽤ static 修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区;
初始化操作:未经初始化的局部静态变量会被程序⾃动初始化为0(⾃动对象的值是任意的,除⾮他被显⽰初始化);
作⽤域:为局部作⽤域,即当定义它的函数结束的时候,作⽤域随之结束(不能被访问)。但是静态局部变量在离开作⽤域之后,并没有被销毁,⽽是仍然保存在内存当中,直到程序结束。
变量在内存的不同区域介绍
2、⽤于全局变量的修饰符
关键字 static 还可⽤于修饰全局变量,该变量在某⼀个⽂件中变量,但不属于任何⼀个函数内,这样的变量通常称为静态全局变量。
静态全局变量的存储位置、初始化操作同静态局部变量的特性,但其作⽤域有所不同:静态全局变量可以被该⽂件内的所有函数访问,但不能被其它⽂件内的函数访问。
3、⽤于函数的修饰符
关键字 static 还可以⽤于修饰⼀个函数,这样的函数称之为静态函数。
定义⼀个静态函数就是在函数的返回类型前加上 static 关键字。static修饰的变量
静态函数的作⽤域仅限于本⽂件,不能被其它⽂件调⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论