栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

变量的存储类型与变量的生存期

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

变量的存储类型与变量的生存期

在C语言中,每一个变量和函数都有两个属性:数据类型和数据存储类型;

数据类型:int 、long、short、char、float、double,以及对应的指针类型;

数据的存储类型:

        可以划分两大类型:静态存储类型和动态存储类型;

        具体包括:自动的(auto)、静态的(static)、外部的(extern)、和寄存器的(register)

自动变量

         在函数中定义的局部变量,如果没有进行专门的说明,对它们的存储空间的分配和释放工作,均有操作系统自动处理,这类局部变量称为自动变量。自动变量用关键词 auto 作为存储类型。定义的数据在栈区。

 静态变量

        静态变量声明:

        static 类型 变量名列表;

        例如: static int a,b,c;

        声明 a、b、c为静态存储类型的变量。

静态变量又可以划分为静态局部变量和静态全局变量。定义的数据存储在内存的静态区。

寄存器变量

        寄存器存储类型:将相关变量的值存储在CPU的通用寄存器中;

        由于计算机的运算器和通用寄存器均集成在CPU的内部,因此,数据读写时间比内存块的多,一般快一个数量级以上;

        但CPU内部的寄存器优先,不可能定义太多寄存器变量。一般定义几个循环变量;

        当寄存器用完,定义成寄存器存储类型的变量会自动转变成普通变量。

寄存器变量的定义方式:

        register 类型 变量列表;

        例如: register int i,j,k;

        定义了 i、j、k三个整型的寄存器变量。

 外部变量

        外部变量声明格式:

        extern 类型 变量列表;

        例如: extern float x、y;

        C语言允许一个程序分成若干个文件,也就是一个程序写在几个文件中,每一个文件可以单独编译成二进制代码文件(目标文件);

        然后在连接时把它们拼成一个可执行程序。

外部变量有:同一文件的外部变量、不同文件的外部变量。

        同一文件的外部变量:

        C语言要求 ”先声明、后引用“;

        也就是所以变量在引用之前必须已经声明;如果在一个文件内,声明在后,则需要在引用之前声明为外部变量。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号