C语言中变量的存储类别_c语言变量的存储类别

2020-02-27 其他范文 下载本文

C语言中变量的存储类别由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言变量的存储类别”。

一.C语言中,从变量的作用域角度来分,可以分为全局变量和局部变量。二.变量值存在的时间角度来分,可以分为静态存储方式和动态存储方式。所谓静态存储方式是指在程序运行期间有系统分配固定的存储空间的方式。而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。具体包含4种:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。1.自动的(auto)在调用函数时系统会给他们分配存储空间,在函数调用结束时就自动释放这些存储空间,这类局部变量称为自动变量。2.静态的(static)为了满足局部变量的值在函数调用结束后不消失而且保留原值,既占用的存储单元不释放,就出现了静态的局部变量,用static来声明的局部变量。局部变量的特点:

(1)相对自动变量(即动态局部变量),在程序的运行期间都占用静态存储区,直到程序结束才释放该存储区。

(2)静态局部变量只是在程序编译时赋初值,以后每次调用时不再重新赋初值,而只是保留上次函数调用结束时的值。动态局部变量编译时不赋初值,直到程序调用时才给变量赋值,每次调用都要赋初值。(3)在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时会自动赋初值0或空字符。而对动态局部变量,不赋初值则它的值是一个不确定的值,因为动态变量每次都要自动分配存储空间,存储空间的值是不固定的。

(4)静态局部变量在函数调用结束后不释放,但其他函数是不能调用的。3.寄存器的(register)为了提高程序的执行效率,对一些运算频繁的变量定义为寄存器变量可以节省每次程序执行时的内存读取,大大节省了时间,提高了效率。寄存器的一些特点:

(1)寄存器变量的特点程序运行时分配寄存器存储空间,结束时释放。这个特点限定了只能把局部自动变量和形式参数定义为寄存器变量。(2)局部静态变量不能定义为寄存器变量。4.外部的(extern)外部变量是在函数的外部定义的全局变量,他的作用是从变量的定义初开始,到本程序文件的末尾。编译时将外部变量分配在静态存储区。

在程序设计中常用到用extern声明外部变量,用来扩展外部变量的作用域。

常用到得方式有:

(1).在一个文件内声明外部变量

定义外部变量,作用域仅限制在从定义处到函数的结束,可以扩展作用范围,用extern声明定义的外部变量。

(2).再多文件的程序中声明外部变量

在程序设计中,可能包含不止一个文件,当两个或者两个以上的文件想共享一个外部变量时,可以在一个文件中定义这个外部变量,在其他文件中用extern声明这个变量,可以完成共享功能。

在程序中经常看到用static声明的外部变量,这种加上static声明的外部变量,只能用于本文件的外部变量。可以避免在不同文件中定义同一个标识符的外部变量出现错误,影响程序。

函数本质上是全局的,但在多文件程序中,可能不同文件包含相同函数标识符的函数,为了避免编译时出错,可以把函数定义为内部函数,尽在本文件中调用,static int fun(void)。

全局函数可以用extern定义,可以省略extern,默认为外部函数,其他文件要调用此函数,只要extern声明一下,既可以调用。

英语语言中的性别歧视

最新英语专业全英原创毕业论文,都是近期写作1 A Comparison of the English Color Terms 2 英语新闻标题的语言特点及翻译 3 诗歌《飞鸟集》的意象评析4 浅析好莱坞英雄主义......

C语言中的EOF

C语言中的EOF EOF是指文件的结束符,是一个宏定义.对于键盘输入来说,getchar()只有在遇到文本结束标记(ASCII编码为26)时才会返回EOF,其它情况都会返回一个输入符号值。所以对于这......

C语言中运算符优先级

**最高最高优先级的其实并不是真正的运算符,它们是一类特殊的操作,()是与函数相关,[]是与数组相关,->是与提取相关;总结:1.关系运算符优于逻辑运算符2.移位运算符介于算术运算符和......

新闻语言中的白描

新闻语言中的白描(2009-10-30 18:48:18) 转载标签: 分类: 理论探究新闻写作培训 白描 杂谈白描是中国绘画的一种传统技法,线条简练而传神逼真,不用颜色渲染。应用到新闻写作上就......

c语言中uninon是什么意思

应该是union,共用体声明和共用体变量定义,共用体是一种特殊形式的变量,使用关键字union来定义; 共用体(有些人也叫“联合”)声明和共用体变量定义与结构体十分相似。其形式为:un......

《C语言中变量的存储类别.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言中变量的存储类别
点击下载文档
相关专题 c语言变量的存储类别 变量 类别 语言 c语言变量的存储类别 变量 类别 语言
[其他范文]相关推荐
[其他范文]热门文章
下载全文