博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 static静态变量的作用
阅读量:4285 次
发布时间:2019-05-27

本文共 772 字,大约阅读时间需要 2 分钟。

C语言 static静态变量的作用

static 

 

c语言的变量种类

 

c语言的变量种类

 

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

范例:

建立一个链表文件公司工资文件,tax.c:

  1. #include<stdio.h> 

  2.  

  3. static int base = 10000; //基本的工资基数 

  4.  

  5. int chicken_legs(float i){ 

  6. return (1 + i)*base; 


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

  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 关键字使文件中的全局变量的范围局限于该文件中,从而起到一个封装文件的作用

转载地址:http://xkpgi.baihongyu.com/

你可能感兴趣的文章
【博客地址】:KMP字符串匹配算法与next数组
查看>>
【深入理解JVM】:OutOfMemoryError异常总结
查看>>
【深入理解JVM】:HotSpot垃圾收集器
查看>>
【深入理解JVM】:解析与分派
查看>>
【深入理解JVM】:Java内存模型JMM
查看>>
【JDK】:Java容器框架
查看>>
【JDK】:HashMap详解
查看>>
【JDK】:java.lang.String、StringBuilder、StringBuffer 源码解析
查看>>
【JDK】:ArrayList和LinkedList源码解析
查看>>
【JDK】:ConcurrentHashMap高并发机制——【转载】
查看>>
nginx 运行与操作
查看>>
nginx 负载均衡
查看>>
js bootstrap 警告框的隐藏和显示
查看>>
centos 7.1安装docker
查看>>
docker 创建一个新镜像
查看>>
docker server gave HTTP response to HTTPS client 问题处理办法
查看>>
docker 导入与导出镜像
查看>>
docker 创建本地registry并push镜像
查看>>
docker 在push镜像到本地registry出现的500 Internal Server Error
查看>>
Linux磁盘空间查看及空间满的处理
查看>>