◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
除了常量外,数据在内存中的另一种表示形式是变量。变量是在程序运行过程中数据值可以发生变化的数据。若数据以变量的形式存储,那么它在内存中就占据了一定的存储单元。变量在使用之前必须先声明,只有在变量声明后,它才能获得存储单元和运算方式。
变量的声明
形式:
数据类型 变量名列表;
这里的数据类型指的是C的有效数据类型标识符。例如:int 、 long 、 float 、 double 、 char等。变量名列表中,变量与变量之间用逗号分隔。例如:
int i,j,k;
unsignde char c,str[5],*p;
变量声明通常放在函数的开始部分,也可以在函数的外部,或者是在复合语句的内部。变量声明语句的位置直接影响了变量的作用域。
变量的赋值
程序中,一个变量占据着一个实际的存储单元,变量名实际上是存储单元的标志(逻辑地址),在存储单元中的内容才是变量的值。C允许在定义变量的同时对其赋初值。
例如:
int a=13; /*声明a为整型变量,初值为13*/
float f=7.8; /*声明f为实型变量,初值为7.8*/
char s='a'; /*声明s为字符型变量,初值为字符a*/
int a,b,c=6; /*声明a、b、c均为实型变量,同时指定c的初值为6*/
其实上面最后一个举例是我有意的。我是想说明如何对几个变量同时赋同一个值。int a,b,c=6; 指的是声明a,声明b,声明c,然后只对c赋初值6,而对a,b只声明不赋值。另外写成int a=b=c=6;连赋的形式也是错误的。必须要写成int a=6,b=6,c=6; 才是正确的。
还有一点是需要注意的,对字符变量赋整型值,这表示的是将ASCLL码为该数值的字符赋予变量。例如:char c='65';表示的就是将ASCLL码为65的字符(通过查ASCLL码可以得知65对应大写字母“A”)赋予字符型变量c。这是因为计算机指令中只有0和1,而不存在a,b,c,d……这样的形式。