变量的初始化(一)

时间:2022-01-22 19:49:10

  看了不少书,但都是看完了就忘。所以想还是碰到问题看书,再总结自己写下来。这样或许能记得更劳一些。新手勿拍。

  在变量声明的同时给予初值,即为变量的初始化。

  格式为:类型 变量名 = 初始值。

  The C Programming Language中有这样一句话:If the name is followed by an equals sign and an
expression, the expression serves as an initializer, as in
char esc = '\\';
int i = 0;
int limit = MAXLINE+1;
float eps = 1.0e-5;

  由此可见,初始值不仅可为常量,也可以是表达式或者一个同类型的变量。

  对于全局变量或者静态变量,只在程序执行之前初始化一次,缺省初始值为0。

  对于局部变量,在程序进入它所在的函数或块时都可被重新初始化。其缺省初始值没有定义。

int a;
void main()
{
 static int b;
 int c;
 printf("a:%d\nb:%d\nc:%d\n",a,b,c);
}

vc6.0测试结果为:a:0

                                 b:0

                                 c: -858993460

而在vs2008中测试运行时,会提示错误:Run-Time Check Failure #3-The variable 'c' is being used without being initialized.

由此可知vs2008强制要求局部变量进行初始化。这样可避免因忘记初始化对后续程序造成影响(个人观点)。