C语言中的常量与变量
变量1:
1.C语言的变量在程序中用变量名表示。变量名由用户根据其用途任意命名,变量名命名遵从标识符的起名规则(只能由字母\数字\下划线组成且头一个字母只能是字母或下划线. 变量不能是C的特殊字符)。
2.在程序运行时,变量占据一定大小的存储空间,其大小由其数据类型来决定的,作为某变量的内存空间的首地址,称为变量的地址。
变量2:
变量在程序中使用时,必须预先说明它们的存储类型和数据类型。
变量说明的一般形式是:
<存储类型> <数据类型 > <变量名> ;
<存储类型>可以是关键词auto、register、static和extern之一;
<数据类型>可以是前面讲的基本数据类型,也可以是后面要讲解的自定义的数据类型.
<变量名>是一个合法的标识符,其前面的32字符有效。
注意:在上面变量说明的式子里,<变量名>之后有一个分号“;”意味着它是一个语句,该语句我们通常称为变量的说明语句
变量3:
1.C语言支持四种存储类型:auto, register, static和extern。
用auto存储类型说明的变量都是局部于某个程序范围内的,只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。
2.C语言中,在函数体的某程序段内说明auto存储类型的变量时可以省略关键字auto。
例如,在函数体中,下列三条语句说明了三个auto存储类型的变量:
auto int k ; //说明一个auto整型的k变量
int j ; //省略了auto,说明一个auto整型的j变量
double x; //省略了auto,说明一个auto双精度型的变量
变量4:
register称为寄存器型,使用register关键词说明的变量主要目的是想将所说明的变量放入CPU的寄存器存储空间中,这样可以加快程序的运行速度。
如申请不到就使用一般内存,同auto ;
register 存储类型说明变量的方式如以下例子所示:
register int count;
说明一个存储类型为register的整数变量;
变量5:
extern称为外部参照引用型,使用extern说明的变量是想引用在其它文件中函数体外部说明的变量。
当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变量。
一般用于在函数之间传递数据。
变量6:
static称为静态存储类型,在C语言中,既可以在函数体内,也可在函数体外说明static 存储类型的变量。
在函数体内说明的static 存储类型的变量也是一种局部变量,与auto最大不同点是:static存储类型的变量在内存中是以固定地址存放的,而不是以堆栈方式存放的;只要整个程序还在继续运行静态变量就不会随着说明它的程序段的结束而消失,它下次再调用该函数,该存储类型的变量不再重新说明,而且还保留上次调用存入的数值。
变量的初始化和赋值 :
变量初始化的一般形式如下:
<存储类型> <数据类型> <变量> = <表达式> ;
变量的初始化是指变量在被说明的同时赋给一个初值。
例如,
int i=0;
static double w=100.56,
double result = 1;
double x = 5, y = x*2 ;
register int count = 0 ;
auto double s = 0 ;
案例:
整型常量:
浮点常量:
指数常量:
字符常量1:
字符常量2:
字符串常量:
、
标识常量1:
标识常量2:
标识常量3: