数组
数组是由数据类型相同的一系列元素组成。需要使用数组时,通过声明数组告诉编译器数组中内涵多少个元素和这些元素的类型。。普通变量可以使用的类型,数组元素都可以使用。列
//一些数组声明
int main(void)
{
float candy[365]; //内涵365个float类型元素数组
char code[12]; //内含12个char 类型元素的数组
int states[50]; //内含50个int 类型元素的数组
.............
}
其中[]表示其中candy code states都是数组,翻过好重的数字代表数组中的元素个数。
初始化数组
数组通常被用来储存程序需要的数组。初始化数组的方法,
只储存单个值的变量时也被称为标量变量。如
int fix = 1;
float flax = pi * 2;
代码中的pi已定以为宏,C使用最新的语法来初始化数组,如下所示
int main (void)
{
int powers[8]={1,2,4,6,8,16,32,64}; //从ANSIC开始支持这种初始化
.............
}
如上所示,用逗号分割的值列表,用花括号括起来,来初始化数组,各值之间用逗号分隔。在逗号和值之间可以使用空格,
//day_mon1.c--打印每个月的天数
#include <stdio.h>
#define MONTHS 12
int main(void)
{
int days[MONTHS] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int index;
for (index = 0; index < MONTHS; index++)
printf("month %2d has %2d days.\n", index + 1, days[index]);
return 0;
}
注意使用const申明数组
有时需要把数组设置为只读,这样,程序只能从数组中检索值,不能把新值写入数组,要创建制度数组应该用const声明和初始化数组。
注意存储类别警告
数组和其他变量类似,可以把数组创建成不同的存数类别。本节讲述的数自动存储类别,意思是这些数组在函数内部声明,且声明是未使用关键字static。不同的类别有不同的属性