一、数组的引入
为便于定义多个同类型的变量,C提供了数组类型。通过定义数组,可得到多个同类型的变量,这些变量被称为该数组的元素。
二、一维数组的定义
可按如下方式定义一个一维数组:
类型 数组名[整型常量表达式];
每个数组元素都是int型的,可以象int型变量一样来存储整型数据。
对于程序中定义的每个数组,C会根据类型和元素个数在内存中分配地址连续的存储区域。
三、引用一维数组的元素
若定义 int a[10];则a具有10个元素,相当于定义了10个int型变量。
容易看出,数组a的元素是按 a[下标]方式来命名/引用的。
一般地,C按照数组名[下标]方式来命名/引用任一数组的元素。
例子:
#include <stdio.h>
int main()
{ int i,a[10];
for (i=0; i<=9;i++)
a[i]=i;
for(i=9;i>=0; i--)
printf("%d ",a[i]);
printf("\n");
return 0;
}
结果:
三、引用一维数组的元素
关于一维数组,注意:
1.数组要先定义后使用;
2.要区分定义和引用;
n定义数组: int a[10];
n引用元素: a[2]=4;
3.注意下标不要越界。
n a[10]=3;
四、一维数组的初始化
数组的初始化是指,在定义数组时为数组元素设置初值。
int a[10]={9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
关于初始化注意 :
1. 初值的个数不能超过数组元素的个数
2. 可以只为部分元素设置初值
3. 若数组元素个数与初值个数相同,可以省略数组长度
double d[ ]={1.1, 2.2, 3.3, 4.4, 5.5};
4.数值型数组不能作为一个整体输入/输出
例子:
用起泡法对N个数由小到大排序
for(j=1;j<N;j++) //N-1趟
for(i=0;i<N-j;i++)
if(a[i]>a[i+1])a[i] ~a[i+1];
例子:
用选择法对N个数由小到大排序
for(i=0; i<N-1; i++)
{
k=i;
for(j=i+1; j<N; j++)
if(a[j]<a[k]) k=j;
t=a[i]; a[i]=a[k]; a[k]=t;
}