### 数组一次性赋值
如果赋值时括号中一次性为数组前面的元素赋值,如果数组的长度超过元素的个数,后面的值全部初始化为0.
~~~
int nums[10] = {1, 2, 3};
int len = sizeof(nums) / sizeof(int);
for (int i = 0; i < len; ++i) {
printf("%d\n", nums[i]);
}
~~~
```
1
2
3
0
0
0
0
0
0
0
```
### 不指定长度赋值
~~~
int nums[] = {1, 2, 3};
int len = sizeof(nums) / sizeof(int);
for (int i = 0; i < len; ++i) {
printf("%d\n", nums[i]);
}
~~~
```
1
2
3
```
### 索引越界
~~~
int nums[] = {1, 2, 3}; //3个元素
for (int i = 0; i < 10; ++i) { //循环10次
printf("%d\n", nums[i]);
}
~~~
从索引为4开始输出的都是垃圾数
```
1
2
3
-1105461172
-1731849365
-492098920
32766
1863881685
32767
1863881685
```