首页 理论教育C++变量定义和声明基础教程

C++变量定义和声明基础教程

【摘要】:◇变量名不要与C++中的库函数名、类名和对象名相同。表1.3C++的标准保留字例如,以下都是有效的变量名:M3,count,_fnum,str_12.变量定义和声明C++中,变量使用之前一定要定义或声明,变量定义的格式一般为:其中,类型指出变量所存放的数据的类型;变量名是任意合法的变量名;注释指明该变量的含义和用途;修饰符进一步描述了变量的使用方式。

顾名思义,变量就是值可变的量。一个变量有三个要素:

◇变量由一个变量名唯一标识,也就是说,每个变量有一个变量名;

◇变量可以保存某个数据值,而数据值有相应的数据类型,所以每个变量又具有一个特定的数据类型。数据类型标志着这个变量将来的用法以及它将保存哪种类型的数据值。

◇变量存储在内存中,有对应的地址,也就是说,每个变量有一个地址,可以进行取地址等操作,而其他表达式如x+y不能进行取地址操作。

1.命名变量名

变量名要遵守以下规则:

◇不能是C++保留字。C++的保留字如表1.3所示。

◇第一个字符必须是字母或下划线,中间不能有空格。

◇变量名中除了使用26个英文大小写字母和数字外,只能使用下划线。

◇一般不要超过31个字符。

◇变量名不要与C++中的库函数名、类名和对象名相同。

表1.3 C++的标准保留字(www.chuimin.cn)

例如,以下都是有效的变量名:

M3,count,_fnum,str_1

2.变量定义和声明

C++中,变量使用之前一定要定义或声明,变量定义的格式一般为:

其中,类型指出变量所存放的数据的类型;变量名是任意合法的变量名;注释指明该变量的含义和用途;修饰符进一步描述了变量的使用方式。修饰符和注释是任选的,可以没有。

首先,必须知道“声明”和“定义”之间的区别,两者的语法格式类似。“声明”是向计算机介绍名字,它说“这个名字是什么意思”。而“定义”则为这个名字分配存储空间。无论涉及变量时还是函数时含义都一样。无论在哪种情况下,编译器都在“定义”处分配存储空间。对于变量,编译器确定这个变量占多少存储单元,并在内存中产生存放它们的空间。对于函数,编译器产生代码,并为之分配存储空间。

变量的“声明”和“定义”较难区分。通常情况下,在一个“编译单元”即一个源程序文件中,变量的“声明”和“定义”是等同的,即均为变量定义。而在不同的“编译单元”中,这两者有区别,如果在甲“编译单元”中定义了一个变量A,希望在乙“编译单元”中使用它的值,就需要先“声明”该变量,然后才能使用它的值。

多个同一类型的变量可以在一行中定义,中间用逗号隔开,例如定义3个浮点型变量:

3.变量初始化

在定义变量时可以给变量赋一个初值,初值可以是一个表达式,但该表达式必须在编译时就能计算出值来。系统自动计算得到一个值后,赋给该变量。下面是一些变量初始化的例子:

简单数据类型的变量初始化比较简单,但复杂数据类型如数组指针、类对象等的初始化各有其特点,这将在介绍相应类型时分别说明。