1、未初始化,同时数组中的某些元素未被赋值时,其值有两种可能,一种是全局数组,被编译器初始化为0,一种是局部数组,为随机数。在vc6.0的debug版程序中一般是0xcc的值。这个值实际上是int 3断点机器码。
2、已初始化,不管是局部数组还是全局数组,编译器都会将其未被赋值的元素初始化为0。
#include <stdio.h> int a[2]; //此时编译器将a[0] a[1]初始化为0 int main() { a[0] = 1; //a[1]的值为0 int b[2]; b[0]= 1; //b[1]未被赋值,其值为随机值。 int c[2] = {1}; //初始化,c[1] = 0 printf("a[0]=%d\ta[1]=%d\n", a[0], a[1]); printf("b[0]=%d\tb[1]=%x\n", b[0], b[1]); printf("c[0]=%d\tc[1]=%d\n", c[0], c[1]); return 0; }