zoukankan      html  css  js  c++  java
  • 变量的存储类型-C语言

      在C语言中,变量和函数有两种类型:数据类型和存储类型。数据类型表示数据的含义、取值范围和允许的操作;而存储类型表示数据的存储介质(内存或寄存器)、生存期和作用于。在C语言中有5中储存类型的变量:自动局部变量、静态局部变量、寄存器变量、静态全局变量和外部变量。

    1. 静态局部变量
         用static定义的局部变量是静态局部变量,它存放在内存中的静态存储区中,它占用的存储单元不释放直到整个程序运行结束。
      静态局部变量的初始化只在编译时进行一次,程序运行过程中不再重新进行初始化。
    2. 自动变量
              函数中的局部变量,如不用关键字static声明储存类别,它就是自动变量。
      自动变量存放在动态储存区中:调用该函数时,系统自动地给它们分配储存空间,函数调用结束时自动释放这些储存空间。
    3. 寄存器变量
              寄存器中数据的访问速度要远远快于内存中数据的访问数据,C语言设置了一种储存类型,直接分配在CPU的寄存器中,这种变量称为寄存器变量。
                一般形式 ====》 register 数据类型说明符 变量名;
    4. 静态全局变量和非静态全局变量
              全局变量的作用域可以通过关键字来指定。当需要把全局变量的作用域设定本文件内时,可以在定义全局变量时使用static来限定,称为静态全局变量,静态全局变量禁止其他在其他文件中访问。
              没有用关键字static来限定的全局变量可以在其他文件中访问,称为非静态全局变量。但是要在其他文件中对它访问,还必须在其它文件的访问语句之前,用外部变量声明语句对已定义过的非静态全局变量进行外部引用声明。
              静态全局变量和静态局部变量的生存期相同,都是整个程序的运行过程。
  • 相关阅读:
    manacher(马拉车)算法详解+例题一道【bzoj3790】【神奇项链】
    【bzoj2160】【啦啦队排练】manacher(马拉车)+差分+快速幂
    file.seek()
    python strip() 函数探究
    vscode配置python环境
    关于ubuntu16.04系统无法系统更新的解决
    汇率计算器
    pythno学习小结-替换python字典中的key值
    python学习小结-字典key,val互换
    python学习笔记(7)——集合(set)
  • 原文地址:https://www.cnblogs.com/baconZhang/p/13804922.html
Copyright © 2011-2022 走看看