格式:
<类型> 变量名称[元素数量];
int grades[100];
double weight[20];
定义:
- 元素数量必须是整数
- 是一种放东西的容器
- 一旦创建,不能改变大小
- 数组中的元素在内存中是连续依次排列的
举例
int a[10]
- 一个int的数组
- 10个单元:从a[0]到a[9](下标从0开始计数)
- 每个单元都是一个int型的变量
- 可出现在赋值的左边或右边:a[2]=a[1]+6(在赋值左边的叫做左值)
- 有效的下标值:[0,数组的大小-1]
应用
写一个程序,输入数量不确定的[0,9]范围内的整数,统计每一种数字出现的次数,输入-1表示结束
#include<stdio.h>
int main
{
const int number = 10;//数组的大小
int x;
int count[number]= {0};//定义数组,并初始化为0
int i;
scanf("%d",&x);
while ( x!= -1 ) {
if ( x>=0 && x<=9 ) {
count[x]++;//数组参与运算
}
scanf("%d",&x);
}
//遍历数组输出
for ( i=0; i<number; i++ ) {
printf("%d:%d\n", i, count[i]);
}
return 0;
}
数组的大小
sizeof(a)/sizeof(a[0])
- sizeof给出整个数组所占据的内容的大小,单位是字节
- sizeof(a[0])给出数组中单个元素的大小,于是相除就得到了数组的单元个数
数组作为函数参数时,必须用另一个参数来传入数组大小
数组作为函数参数时:
- 不能在[]中给出数组的大小
- 不能再利用sizeof来计算数组的元素个数
- 必须用另一个参数来传入数组大小,如int length
套路
prime[cnt++]=i 把i放进cnt,并使cnt指向下一位