第三周.数组【上】
1.什么是数组:
I.数组是一种相同类型数据的集合(即用来装同一种东西的容器);
2.数组的组成
类型名 数组名[数组长度]={初值表};
eg1:char world[]={};
tip: 1.数组长度是一个长度
2.在定义数组之后,系统根据数组中元素的类型及个数在内存中分配了一段连续的存储单元用于存放数组中的各个元素,并对这些单元进行连续编号,即下标,以区分不同的单元。每个单元所需的字节数由数组定义时给定的类型来确定
3.数组的引用:
数组名[下标]
tip:数组名下标从0开始,下标不能越界若越界就会把数据写到其他变量所占的存储单元中甚至写入程序代码段,有可能造成不可预料的结果。
初始化一维化数组
I一个一个定义:int a[10]={1,2,3,4,5,6,7,8,9,10}
waring; 此时a[9] 为10。
若数组没有初始化,系统自动给所有的数组元素赋为0、
运用程序赋值
例:倒序输入数字
#include<stdio.h>
int a[10]; int i; int main(void){
printf("请输入数字"); for(i=0;i<=10;i++){
scanf("%d",&a[i]);
} printf("倒序输入为:"); while(i>=1) { i--; printf("%d\t",a[i]); }
return 0;
}
二维数组
一定义:
类型名 数组名[行长度] [列长度];
二引用
数组名[行下标] [列下标]
初始化 分行赋值
int a[3] [3]{{1,2,3},{4,5,6},{7,8,9}}
等价于 int a[3] [3]={1,2,3,4,5,6,7,8,9}
或 for(j=0;j<n;j++){
for(i=0;i<m;i++){
scanf("%d",&a[i] [j]);
}
}