// 【C Prime Plus】学习笔记,Chapter 10, P631
#include <stdio.h>
int main(void)
{ int i;
char arr[4];
printf("局部变量没有初始化,看看打印出来是什么\n");
for(i=0;i<4;i++)
printf("%d\n",arr[i]);
printf("局部变量仅仅初始化部分元素,看看打印出来是什么\n");
char t[4]={1,2};
for(i=0;i<4;i++)
printf("%d\n",t[i]);
printf("static局部变量没有初始化,看看打印出来是什么\n");
static char x[4];
for(i=0;i<4;i++)
printf("%d\n",x[i]);
printf("static局部变量仅仅初始化部分元素,看看打印出来是什么\n");
static char y[4]={1,2};
for(i=0;i<4;i++)
printf("%d\n",y[i]);
//---
return 0;
}
输出结果:
局部变量没有初始化,看看打印出来是什么
-52
-52
-52
-52
局部变量仅仅初始化部分元素,看看打印出来是什么
1
2
0
0
static局部变量没有初始化,看看打印出来是什么
0
0
0
0
static局部变量仅仅初始化部分元素,看看打印出来是什么
1
2
0
0
小结:
1)局部数组 如果没有初始化,其值是不确定的
2)局部数据,如果仅仅初始化一部分元素,余下的元素则是0
3)static 局部数组,没有被初始化的元素,默认是0
本文通过实例演示了C语言中数组初始化的各种情况,包括未初始化的局部数组、部分初始化的局部数组、未初始化的静态局部数组及部分初始化的静态局部数组,并总结了不同情况下数组元素的默认值。
1135





