
c语言static
英语四级历年真题-思他宁
2023年3月20日发(作者:雨鸟)C语⾔static静态变量的作⽤
C语⾔static静态变量的作⽤
static
c语⾔的变量种类
1.静态变量通过关键字static进⾏声明,该变量存储在数据段上,也就是内存上,可以改变变量的作⽤域和⽣命周期。
2.对于局部变量作⽤域依旧没有改变,只有定义该局部变量的函数和复合语句可以引⽤,但是其⽣命周期变成了直到整个
源程序⽂件结束。
3.对于全局变量⽣命周期没有发⽣变化,但是其作⽤域反⽽有所减⼩,只有本⽂件的函数可以引⽤该全局变量。
4.针对static的特性,只有本⽂件内的函数可以引⽤该变量,在C语⾔中⼀个源程序⽂件就是⼀个模块,⼀个源程序⽂件
(模块)声明了⼀个static全局变量之后其他模块只能通过该模块提供的接⼝函数来访问这个static变量,⽽不能直接实
现对其进⾏操作,也就是说static可以实现⼀个模块的封装。
范例:
建⽴⼀个链表⽂件公司⼯资⽂件,tax.c:
建⽴⼀个向外界提供⼀个接⼝函数声明,tax.h:
如其他源⽂件user.c需要引⽤该⽂件,使⽤接⼝⽂件:
1.#include
2.
intbase=10000;//基本的⼯资基数
4.
cken_legs(floati){
(1+i)*base;
7.}
intchicken_legs(floati);
1.#include
2.#include"tax.h"
3.
user.c这个⽂件就不能修改tax.c中的⽤static声明的base,⽽只能引⽤接⼝函数,static关键字使⽂件中的全局变量的范围局限于该⽂
件中,从⽽起到⼀个封装⽂件的作⽤
n(void){
e;
ncrease;
=chicken_legs(increase);
0;
9.}