【C++】变量
注意:以下内容摘自文献[1],修改了部分内容。
1.变量:在程序运行期间其值可以改变的量称为变量。一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值。变量名代表内存中的一个存储单元,在对程序编译连接时由系统给每一个变量分配一个地址。在程序中从变量中取值,实际上是通过变量名找到相应的内存单元,从其中读取数据。
2.变量名规则
C++规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线。
注意:(1) C++中,大写字母和小写字母被认为是两个不同的字符;C++没有规定标识符长度(字符个数),但各个具体的C编译系统都有自己的规定。有点系统取32个字符,超过的字符不被识别。因此写程序是应了解所用系统对标识符长度的规定。
(2) 匈牙利命名法:在变量前面加一个字母以表示该变量的类型,如iCount表示一个整型变量,cSex表示一个字符型变量。
(3) 驼峰表示法:以小写字母开头,下一个单词的第一个字母用大写。如studengName.
(4) 几个英文单词,中间用下划线连接,如number_of_student.
3.变量赋初值
如果对变量未赋初值,则该变量的初值是一个不可预测的值,即该存储单元中当时的内容是不知道的。初始化不是在编译阶段完成的(只有在静态存储变量和外部变量的初始化是在编译阶段完成的),而是在程序运行时执行本函数时赋予初值的,相当于执行一个复制语句。例如,int a = 3;相当于以下两个语句: int a; a = 3;
4.常变量
在定义变量时,如果加上关键字const,则变量的值在程序运行期间不能改变,这种变量称为常变量。例如 const int a = 3;
注意:(1)在定义常变量时必须同时对它初始化,此后它的值不能再改变。例如上一行不能写成:const int a; a = 3;
(2)请区别用#define指令定义的符号常量和用const定义的常变量。符号常量只是用一个符号代替一个字符串,在预编译时把所有符号常量替换为所指定的字符串,它没有类型,在内存中并不存在以符号常量命名的存储单元。而常变量具有变量的特征,它具有类型,在内存中存在着以它命名的存储单元,可以用sizeof运算符测出其长度。与一般变量唯一的不同是指定变量的值是不能改变的。
参考文献
[1]谭浩强.C++程序设计[M].北京:清华大学出版社.