一. 数组
数组是由一系列类型相同的元素构成 。可以使用声明来告诉编译器你需要一个数组 。数组声明中包括数组元素的数目和元素的类型 。编译器根据这些信息创建合适的数组 。数组元素可以具有同普通变量一样的类型 。下面是数组声明的例子 :
int main( void )
{
float candy [ 365 ] ;
char code[ 12 ] ;
int states[ 50 ] ;
}
方括号里([ ])表示candy和其他两个标识符均为数组 ,方括号内的数字指明了数组所包含的元素数目 。要访问数组的元素 ,可以使用下标数字来表示单个元素 。下标数字也称索引 ( index ),是从 0 开始计数的 。因此 ,candy [ 0 ] 是数组candy的首元素 ,candy [ 364 ] 是第365个元素 ,也就是最后一个元素 。
1. 初始化
在程序中通常用数组来存储数据 。
例 :
int fix = 1 ;
float flax = PI * 2;
int main ( void )
{
int power [ 8 ] = { 1 , 2 , 4 , 6 , 8 , 16 , 32 , 64 } ;
.....
}
可以使用花括号括起来的一系列数组来初始化数组 。数组之间用逗号隔开 ,在数值和逗号之间可以使用空格符 。首元素 power [ 0 ] 被赋值为 1 以此类推。
初始化列表中的元素数目应该和数组大小一致 。当数值数目少于数组元素数目时 ,多余的数组元素被初始化为 0 。也就是说 ,如果不初始化数组,数组元素和未初始化的普通变量一样 , 其中存储的是无用的数值 ;但是如果部分初始化数组,未初始化的元素则被设置为 0 。
注意 :当使用控的方括号对数组进行初始化时,编译器会根据列表中的数值来确定数组大小 。
注意 for 语句循环的控制语句 ,可以让计算机来计算数组的大小 。
#include <stdio.h>
int main()
{
const int days[ ] = {31,28,31,30,31,30,31,31,30,31};
int index;
for( index = 0 ; index < sizeof days / sizeof days[ 0 ] ; index++)
printf("Month %2d has %d days.\n" ,index + 1,days[ index ]);
return 0;
}
2. 多维数组
数组的数组,称为 二维数组 。
float rain[ 5 ][ 12 ] ;
rain中包含5个数组,rain[ 0 ],rain[ 1 ],rain[ 2 ],ran[ 3 ],rain[ 4 ],每个元素中又包含12个数组,也就是说,rain中每个元素包含一12个float数组的数组。
二维数组的初始化和一维数组的初始化的注意点是一样的