在程序的执行过程中其值可以变化的量称为变量,变量是需要用名字来标识的。
1.变量的声明和定义:(1)常量具有各种类型,变量也一样,也具有相应的类型。变量在使用之前要先进行声明其类型和名称。变量名也是一种标识符,在命名时要按照标识符的命名构成规则。在同一语句中可以声明同一类型的多个变量。
(2)在这里,回顾标识符的相关信息:
标识符是程序员定义的单词,它命名程序正文中的一些实体,如函数名、变量名、类名、变量名等。
其构成规则如下:
- 以大写字母、小写字母或下划线(_)开始。
- 可以由以大写字母、小写字母、下划线(_)或数字0~9组成。
- 大写字母和小写字母代表不同的标识符。
- 不能是C++关键字。
举例:Rectangle,Draw_line,_No1都是合法的标识符。
No.1,1st是不合法的标识符。
(3)变量的声明:
数据类型 变量名1,变量名2,···,变量名n;
例如:下列两条语句声明了两个int型变量和3个float型变量:
int num,total;
float v,r,h;
声明一个变量只是将变量名标识符的有关信息告诉编译器,使编译器”认识”该标识符,但是声明并不一定引起内存的分配。而定义一个变量意味着给变量分配内存空间,用于存放对应类型的数据,变量名就是对相应内存单元的命名。在C++程序中,大多数情况下变量声明也就是变量定义,声明变量的同时也就完成了变量的定义,只是声明外部变量时例外。在定义一个变量的同时,也可以给它赋予初值,而这实质就是给对应的内存单元赋值。
例如:int a = 3;
double f = 3.56;
char c = 'a';
在定义变量的同时赋初值还有另外一种形式:
int a(3);
(4)注意:虽然C++中有字符串常量,但没有字符串变量.
2.变量的存储类型:变量除了具有数据类型外,还具有存储类型。变量的存储类型决定了其存储方式。
anto存储类型:采用堆栈方式分配内存空间,属于暂时性存储,其存储空间可以被若干变量多次覆盖使用。
register存储类型:存放在通用寄存器中。
extern存储类型:在所有函数和程序段中都可引用。
static存储类型:在内存中是以固定地址存放的,在整个程序运行期间都有效。