变量的声明和定义
变量是一个命名的内存单元,用于存储特定类型的数据。为了让程序能够操作一个变量,程序员必须在源代码中声明和/或定义该变量。在一般情况下,“声明”和“定义”这两个术语对于程序元素来说有着不同含义,而对于变量来说,这两个术语几乎没有区别。当我们开始了解函数、类和特殊(外部)变量时,就会涉及到这些错综复杂的关系。在本书中,我们将交替使用这两个术语,并以‘说明’作为概括性词语。
可以肯定地认为,声明包含程序元素的说明以及在程序中使用时所需要的全部属性。而定义则包含此元素的具体实现,与声明对应。
声明允许编译器将程序的所有元素相互连接。编译器则基于定义生成一个可执行代码。
对于变量而言,它们的声明实际上总是充当定义,因为这可以确保根据变量的类型来分配内存和解释内容(这正是变量的实现)。唯一的例外是用 'extern' 关键字声明变量(有关更多详细信息,参见 外部变量一节)。
只有在对变量进行描述后,才能使用特殊语句向该变量输入值,读取这些值,并引用变量名以在程序的不同部分之间传递变量。
下面这个非常简单的例子显示了一个描述变量的语句:
type name; |
此处,name 必须满足构造 标识符的要求。对于 type,你可以指定我们在上一节中介绍过的任意 嵌入式类型 ,也可以指定其他自定义类型,稍后我们就会学习如何创建自定义类型。例如,整数变量 i的声明方式如下:
int i; |
如有必要,您可以同时描述多个相同类型的变量。在这种情况下,变量的名称在语句中指定,并用逗号分隔。
int i, j, k; |
语句(包含变量说明)在程序中的位置至关重要。这会影响变量的生存期以及在程序不同部分中的可访问性。