2.1.3 变量的定义及赋值
在使用变量前,需要使用声明语句对变量进行声明。在程序中定义变量的目的是让程序分配一块内存,并为其命名。这个名字就是变量名。与C语言不同,C++(www.cppentry.com)可以随时定义所需的变量,而不必放在函数的开始处。在定义变量时,先指定变量的类型,再给出变量名,并以分号作为结束。C++(www.cppentry.com)中变量说明语句的一般形式为:
- [<存储类> ] <类型名或类型定义> <变量名表>;
其中,参数说明如下:
存储类指的是变量的存储位置,一般来说有4种类型:auto表示属于一次性存储,其存储空间可被若干变量多次覆盖使用;register表示存放在通用寄存器中;extern表示在所有函数和程序段中都可引用;static表示在内存中是以固定地址存放的,在整个程序运行期间都有效。 [<存储类> ]的方括号表示可以缺省。在默认情况下,变量的存储类值为auto。读者可以根据不同需要声明不同的存储类变量,这在后续章节中还将提到。
类型名或类型定义指的是变量所属的数据类型,一般来说,指的是前面章节介绍的基本数据类型和枚举类型等。在任何变量说明语句中,不能缺少数据类型的定义。
变量名表是指声明变量的变量名称。
变量的定义以分号作为变量定义的结束,表示它也是一个语句,其中的类型就是这个变量所能处理的数据的类型。例如,下面程序代码定义了几个变量。
- int a; // 定义一个int型变量a
- char b; // 定义一个char型变量b
- float c // 定义一个float型变量c
- double d; // 定义一个double型变量d
此外,在变量的声明语句中,可以对该变量赋初值。同时,C++(www.cppentry.com)语言允许在一个语句中定义多个变量,但必须是同一类型的。因此,定义变量的同时为其赋初值主要有如下三种格式。
- <类型名或类型定义> <变量名>;
- <类型名或类型定义> <变量名>=<表达式>;
- <类型名或类型定义> 变量名1>=[<表达式1>], <类型名或类型定义> <变量名2>=[<表达式2>], …;
其中,表达式是指变量的初始化值。例如,下面程序代码定义了几个变量。
- int b, c = 2;
- double x = 0.0, y=1.2;
- char m, n;
在上述三条语句中,定义了5个变量,其中第一条语句声明了两个变量,并为其中的一个赋初值;第二条语句声明了两个变量并同时赋初值,最后一条语句声明了两个变量,没有赋初值,这在应用程序中都是常见的声明方式。
例如,下面示例定义了几个变量,并为其中的某些变量赋初值,最后通过输出函数将所有变量的值输出在用户屏幕。其实现代码如下:
- #include <iostream>
- using namespace std;
- int main()
- {
- //定义以下变量
- int b, c = 2;
- double x = 0.0, y=1.2;
- char m, n;
- b=c;
- m=n='a'; //为变量赋初值
- cout<<"b="<<b<<endl<<"c="<<c<<endl; //输出以下变量
- cout<<"x="<<x<<endl<<"y="<<y<<endl;
- cout<<"m="<<m<<endl<<"n="<<n<<endl;
- system("pause");
- return 0;
- }
同样地,读者需要在DEV-C++(www.cppentry.com)中新建一个源文件,将如上程序代码输入在其编辑区中,在编译前保存在特定目录下。通过编译后运行该程序,运行结果如图2.5所示。
|
| (点击查看大图)图2.5 变量定义及赋值 |