1. 有时需要把数组设置为只读。这样,程序只能从数组中检索值,不能把新值写入数组。要创建只读数组,应该用const声明和初始化数组。
const int days[MONTHS]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
这样修改后,程序在运行过程中就不能修改该数组中的内容。和普通变量一样,应该使用声明来初始化const数据,因为一旦声明为const,便不能再给它赋值。
2. 使用数组前必须先初始化它。与普通变量类似,在使用数组元素之前,必须先给它们赋初值。编译器使用的值是内存相应位置上的现有值。
使用未被初始化的变量:
#include <stdio.h>
#define SIZE 5
int main(void)
{
int data[SIZE];
printf("%2s%14s\n", "i", "data[i]");
for (int i = 0; i < SIZE; ++i) {
printf("%2d%14d\n", i, data[i]);
}
return 0;
}
zhgxun-pro:c2 zhgxun$ gcc test.c
zhgxun-pro:c2 zhgxun$ ./a.out
i data[i]
0 0
1 0
2 0
3 0
4 1600449552
zhgxun-pro:c2 zhgxun$