C语言 static静态变量的做用

C语言 static静态变量的做用

c语言的变量种类

c语言的变量种类

  1. 静态变量经过关键字 static 进行声明,该变量存储在数据段上,也就是内存上,能够改变变量的做用域和生命周期。
  2. 对于局部变量做用域依旧没有改变,只有定义该局部变量的函数和复合语句能够引用,可是其生命周期变成了直到整个源程序文件结束。
  3. 对于全局变量生命周期没有发生变化,可是其做用域反而有所减少,只有本文件的函数能够引用该全局变量。
  4. 针对static的特性,只有本文件内的函数能够引用该变量,在C语言中一个源程序文件就是一个模块,一个源程序文件(模块)声明了一个static全局变量以后其余模块只能经过该模块提供的接口函数来访问这个static变量,而不能直接实现对其进行操做,也就是说static能够实现一个模块的封装。

范例:
创建一个链表文件公司工资文件,tax.c:html

  1. #include<stdio.h> 
  2.  
  3. static int base = 10000; //基本的工资基数 
  4.  
  5. int chicken_legs(float i)
  6. return (1 + i)*base; 

创建一个向外界提供一个接口函数声明,tax.h:ide

  1. extern int chicken_legs(float i)

如其余源文件user.c须要引用该文件,使用接口文件:函数

  1. #include<stdio.h> 
  2. #include"tax.h" 
  3.  
  4. int main(void)
  5. int wage; 
  6. float increase; 
  7. wage = chicken_legs(increase); 
  8. return 0

user.c这个文件就不能修改tax.c中的用static声明的 base,而只能引用接口函数,static 关键字使文件中的全局变量的范围局限于该文件中,从而起到一个封装文件的做用spa

相关文章
相关标签/搜索