c语言中什么是变量3篇
c语言中什么是变量1
c语言的变量特性:
第一、变量定义要选择恰到好处的类型,变量的类型直接决定了它所存储的数据取值范围,这类似于我们生活中使用的各种容器,选择合适的变量类型,不但能保证数据存储安全,还能有效的节约系统资源;
第二、变量的作用范围必须清楚,C语言最基本的功能单元是函数,在函数内部使用的变量是私有变量,只能在函数内部使用。多个函数组成一个程序的功能模块,并安置在某一个C文件中,在这些函数的头部定义的变量是静态变量(局部变量),这种类型的变量模块内部的函数都可以访问。如果在模块内部声明变量,并在该模块的头文件中导出,该类型变量就是全局变量,全局变量在整个工程中的所有函数都可以访问;
第三、变量占用的RAM资源,私有变量是可以释放的,静态变量与全局变量是不可以释放的。也就是说在程序运行的整个过程中,私有变量占用资源可以供不同的函数重复利用,而静态变量与全局变量是完全被占用不能重复利用的;
第四、变量可以存放常数,但因为单片机RAM资源有限,强烈建议不要用变量存放常量,而是在资源相对
丰富的Flash
ROM中存放常量;
第五、局部变量与全局变量对于函数来说,访问非常方便,但缺点显而易见:访问的函数越多,数据的安全性越低,一旦出现数据异常,很难排除问题。所以,请尽量减少局部变量与全局变量的使用;
第六、函数的型参个数尽量减少,这样型参只会占用通用寄存器组来完成参数传递工作。如果参数过多,编译器可能会被迫分配占用RAM资源,这样不但参数传递效率变低,同时还会导致RAM资源浪费;
c语言变量的分类
全局变量的作用范围是整个程序(如果程序是多个文件,必须在其他的文件中说明)。
静态变量的作用范围要看静态变量的位置,如果在函数里,则作用范围就是这个函数。
静态变量又分为静态全局变量和静态局部变量。
静态全局变量,只在本文件可以用,虽然整个程序包含多个文件,但静态全局变量只能用在定义它的那个文件里,却不能用在程序中的其他文件里。
它是定义存储因型为静态型的外部变量,其作用域是从定义点到程序结束,所不同的是存储类型决定了存储地点,静态型变量是存放在内存的数据区中的,它们在程序开始运行前就分配了固定的字节,在程序运行过程中被分配的字节大小是不改变的,
只有程序运行结束后,才释放所占用的内存。
全局变量是没有定义存储类型的外部变量,其作用域是从定义点到程序结束,省略了存储类型符,系统将默认为自动型。
自动型变量存放在堆栈区中,堆栈区也是内存中一部分,该部分内存在程序运行中是重复使用的。
按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。
按作用域分,全局变量在整个工程文件内都有效;静态全局就量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。
全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知,所以一般在定义的时候一定要赋初值。
c语言中什么是变量2
变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。不同类型的变量其存储单元的大小不同,变量在使用前必须定义。那么C语言变量的类型有哪些呢,一起来看看!
(一)整型变量
整型变量分为4种:基本型(int)、短整型(short int 或short)、长整型(long int 或long)和无符号型(unsigned int ,unsigned
short,unsigned long)。
不同的编译系统对上述四种整型数据所占用的位数和数值范围有不同的规定。
类型说明符
说明:
单词signed来说明“有符号”(即有正负数之分),不写signed 也隐含说明为有符号,unsigned用来说明“无符号”(只表示正数)。
(二)实型变量
C语言中,实型变量分为单精度类型( float )和双精度类型( double )两种。如:
float a , b ;
double m ;
在vc中,float 型数据在内存中占4个字节(32位),double 型数据占8个字节。单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。实型常量不分float型和double型,一个实型常量可以赋给一个float 型或double型变量,但变量根据其类型截取实型常量中相应的有效数字。
注意:实型变量只能存放实型值,不能用整型变量存放实型值,也不能用实型变量存放整型值。
(三)字符变量
()c语言是啥字符变量用来存放字符常量,定义形式:
char 变量名;
其中关键字char定义字符型数据类型,占用一个字节的存储单元。
例:char cr1,cr2;
cr1= ‘A’ , cr2=‘B’ ;
将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。例如,字符′A′ 的ASCII码为65,在内存中的存放形式如下:__ 由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论