ad

《C++程序开发案例课堂》_了解C++的更好途径_2.1.3 变量声明和定义

admin 68 2023-11-01

【摘要】 本书摘自《C++程序开发案例课堂》一书中第2章,第1节,由刘春茂、李琪编著。

2.1.3 变量声明和定义

在 C++ 中,不仅仅是变量才有名字,枚举(enumeration)、 函数(function)、 类(class)、模板 (template)等事务都有名字。在使用任何一个名字之前,必须先对该名字表示的事务进行声明 (declaration)或者定义(definition)。在程序使用中,离不开变量。变量的定义(definition)可以为 变量分配存储空间,还可以为变量指定初始值。在程序中,变量有且仅有一个定义。

《C++程序开发案例课堂》_了解C++的更好途径_2.1.3 变量声明和定义

声明(declaration)是为了说明变量的类型和名字。定义也是声明,当定义变量的时候声明 了它的类型和名字。可以通过使用 extern 关键字声明变量名而不定义它。不定义变量的声明 包括对象名、对象类型和对象类型前的关键字 extern。extern 声明不是定义,也不分配存储空 间。它只是说明变量定义在程序的其他地方,程序中变量可以声明多次,但只能定义一次。

例如:

在上例中,就是一个单纯的声明,而不是定义。这条语句只是告诉程序有一个 int 型变量 i, 而没有为i分配空间,也没有给i赋值。

任何在多文件中使用的变量都需要有与定义分离的声明。在这种情况下, 一个文件含有 变量的定义,使用该变量的其他文件则包含该变量的声明(而不是定义)。

可以用下面的语法来定义(也是声明)一个变量:

变量类型说明符变量名1,变量名2,.,变量名3;

其中变量类型说明符的作用是告诉编译器该变量的类型。表2-1 列出了 C++ 中的一些基 本数据类型。在定义变量时,需要遵循以下一些规则。

(1)变量名的首字母必须为26个英文字母的大小写外加下画线,其他字母必须为26个 英文字母的大小写,以及下画线和数字。

(2)变量名不可以是 C++ 中预留的关键词。前面已经介绍过的一些关键词,如 signed、 unsigned、int、double等 。

(3)C++ 标准规定,所有以两个下画线开头的名字,以及一个下画线加上一个大写字母 开头的名字,如 range、 Range 或者 Range, 在程序中都不可以用,因为要为标准库预 留。所有以一个下画线开头并且第2个字符并不是下画线,也不是大写字母的名字,如 range, 在程序中不可以用在全局名字空间中(对变量来说,在全局名字空间的变量也是全局 变量)。全局变量和全局名字空间稍后再提。如果用了这些名字,编译器可能不会报错,但是 程序的可移植性就变差了,因为换到另外一个编译器,就可能和另外一个编译器的库实现存 在名字冲突。

使用C++ 变量作用域时一定要注意, 一般是以一对花括号范围作为一个作用域。

( 4 ) 在 C++ 中,名字的大小写是不同的,即大写字母的名字和小写字母的名字是不同的 名字。例如, age、Age、AGE 是3个不同的名字。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《C++程序开发案例课堂》_了解C++的更好途径_6.3 特殊函数调用方式——递归调用
下一篇:《C++程序开发案例课堂》_了解C++的更好途径_8.1 指针概述
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×