zoukankan      html  css  js  c++  java
  • C语言 static静态变量的作用

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

  • 相关阅读:
    常用控件(1)—RadioGroup、CheckBox、Toast
    调用系统剪切板并传输到OtherActivity
    Linux 文件类型
    Handler应用3 — 与Activity不同一线程
    linux下tftp(解决Loading问题 transfer timed out)
    c/c++ 中const的作用
    C++ 初步知识
    类外定义成员函数实例
    ubuntu上Samba服务器配置
    Android全面开发——问题汇总
  • 原文地址:https://www.cnblogs.com/yujianfei/p/8974813.html
Copyright © 2011-2022 走看看