|
所有变量都必须先声明后使用,尽管某些变量可以通过上下文隐式得声明。一个声明指定一种变量类型,后面所带的变量表可以包含一个或多个该类型的变量。例如:
int lower, upper, step;
char c, line[1000];
一个声明中语句的多个变量可以拆开在多个声明语句中声明。上面的两个声明语句也可以等价的写成下面的形式:
int lower;
int upper;
int step;
char c;
char line[1000];
按照这种形式书写代码需要占较多的空间,但便于向各声明语句中添加注释,也便于以后修改。
还可以在声明的同时对变量进行初始化。在声明中,如果变量名的后面紧跟一个等号以及一个表达式,该表达式就充当对变量进行初始化表达式。例如:
char esc = '\\';
int i = 0;
int limit = MAXLINE+1;
float eps = 1.0e-5;
如果变量不是自动变量,则只能进行一次初始化操作,从概念上讲,应该是在程序开始执行之前进行,并且初始化表达式必须为常量表达式。每次进入函数或程序块时,显式初始化的自动变量豆浆被初始化一次,其初始化表达式可以是任何表达式。默认情况下,外部变量与静态变量将被初始化为0.未经初始化的自动变量的值为未定义值(即无效值)。
任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符制定数组所有元素的值都不能被修改;
const double e =2.71828182845902;
const char msg[ ] = "warning";
const限定符也可以配合数组参数使用,它表明函数不能修改数组元素的值;
int strlen (const char[ ]);
如果试图修改const限定符限定的值,其结果取决于具体的实现。 |
|