
<元素类型关键字> <数组名> [<常量表达式>][={<元素初值表>}];
如:int grade[10];
一维数组的存储空间大小:等于元素类型长度乘以数组长度。
如 int a[10]; 占用40个字节
(1) int a[20];//a[0] a[1] … a[19] 80
(2) double b[MS];//b[0] b[1] … b[NS-1] 8*MS
(3) int c[5]={1,2,3,4,0};//数组长度5 占用字节数20
(4) char d[]={a,b,c,d};//d[0]=a d[1]=b d[2]=c d[3]=d
(5) int e[8]={1,4,7};//e[0]=1 e[1]=4 e[2]=7 e[3]-e[6]=0
(6) char f[10]={B,A,S,I,C};// f[5]-f[9]=’\0’
(7) float h1[5], h2[10];//一条语句中定义多个同类型数组
(8) int x=1, y=2, w[4]={0};//同在一条语句中定义简单变量和数组
int a[10];
下标变量表示:<数组名>[<下标表达式>]
下标表达式:常量、变量、函数或一般表达式
下标变量例:a[5]、a[i]、a[j++]、a[2*x+1]
数组与下标变量具有相同的表示格式,但具有不同的出现场合。
int a[6]={1,2,3,4,5,6};// a[6]为数组,数组长度为6
表达式a[4]*3+2中的a[4]为下标变量,表达式值为5*3+2=17。
#include <stdio.h>
void main()
{
int i, a[6];
printf("输入6个整数: ");
for(i=0;i<6;i++) scanf("%d",&a[i]);
for(i=5;i>=0;i--) printf("%d ",a[i]);
printf("\n");
}
输入:3 8 12 6 20 15
输出:15 20 6 12 8 3
#include <stdio.h>
#define M 10
void main()
{
int i, a[M+1];
a[0]=1; a[1]=2;
for(i=2; i<=M; ++i) a[i]=a[i-1]+a[i-2];
//a[2]=a[1]+a[0]=3, a[3] =a[2]+a[1]=5, a[4]=8,
for(i=0; i<M; ++i) printf("%d, ",a[i]);
printf("%d\n",a[M]);
}
输出:1,2,3,5,8,13,21,34,55,89