数组
数组是一个变量,由数据类型相同的一组元素组成
变量和数组的区别
变量是内存中的一块空间
数组是内存中一块连续的空间
举个例子
iPhone4;iPhone4s;iPhone5;iPhone5s……
数组的结构和基本要素
- 标识符:数组的名称,用于区分不同的数组
- 数组元素:向数组中存放的数据
- 元素下标:对数组元素进行编号
- 元素类型:数组元素的数据类型
- 数组只有一个名称,即标识符
- 元素下标表明的数组的位置,从0开始
- 数组中每个元素都可以通过下标来访问
- 数组长度固定不变避免数组越界
数组中所有元素必须使用相同类型
一维数组
- 学生单门学科成绩(比如一个人的 数学,语文,英语成绩)
- 某类别商品单价(比如方便面 康师傅,统一 等等)
- 某个人N个月的工资
语法
datatype arrayName[size]
举个例子
int num[25]; //定义了一个25个元素的数组
char array_of_name[30]; //定义了一个有30个元素的char型数组
==================================================
#define N 50 // 宏定义 定义之后不可以更改
int emp_id[N]; //接上面的宏定义,一开始是没有类型的,用的时候再加
=================================================
const int SIZE = 100; //const是常量,一开始就定义了类型
duoble prise [SIZE]; //
==================================================
//正确:后面的元素个数与声明的一致
int years[6] = {2012,2013,2014,2015,2016,2017};
//正确:后面5个元素未初始化,默认值为0
int monthes[12] ={1,3,5,7,8,10,12} ;
//正确:元素个数为2(固定为2不能再加元素)
int days[] = {1,15};
//错误:未知元素个数!
int array[] = {}
动态的从键盘输入信息并赋值
(#)include
(#)include
(#)define N 5
int main()
{
double score[N];
int i; //循环变量
//使用循环操作数组时,要注意一个循环只做一件事儿
for(i = 0;i < N; i++)
{
printf("请输入第%d位同学的成绩:",i+1);
scanf("%lf",&score[i]); //score里面第i个元素
}
//下面的循环用来打印数组元素
for(i = 0;i < N; i++)
{
printf("请输入第%d位同学的成绩是:%.2f\n",i+1,score[i]);
}
return 0;
}
小结
使用数组的步骤
1.定义数组是什么类型
2.规定数组的大小
3.考虑如何给数组元素进行赋值
4.一般通过循环来操作数组