一、数组
数组是由数据类型相同的一系列元素组成。要访问数组中的元素,通过使用数组下标数来表示数组中的各元素,数组中元素的编号从0开始。
1、初始化数组
#define MONTHS 12 //数组大小最好使用常量
int main(){
example1();
return 0;
}
void example1(){
int days[MONTHS] = {31,28,31,30,31,30,31,31,30,31,30,31};//初始化数组中的元素
for(int index = 0;index<MONTHS;index++){//循环打印数组中的元素
printf("%d 月有 %d 天\n",index+1,days[index]);
}
}
⑴ 使用const声明数组
使用const声明数组时,程序只能从数组中检索值,不能把新值写入数组,如下:
void example2(){
const int days[MONTHS] = {31,28,31,30,31,30,31,31,30,31,30,31};
printf("数组中下标为0的值是:%d\n",days[0]);//31
}
⑵ 初始化列表中的项数与数组的大小不一致
如果数组未被初始化,编译器使用的值是内存上现有的值。如果初始化列表的值少于数组元素个数时,编译器会把剩余的元素都初始化为0。如果初始化列表的项数多于元素个数时,C语言不会检查数组下标是否是越界的,数组在内存中是一段连续的空间,这样做的后果是可能造成内存溢出。
下面是初始化列表的值小于数组元素个数