一、 数组=数组元素+下标变量 int a [10] 整型数组,数组名a,有10个元素
注意: a. 同一个数组,所有元素的数据类型都是相同的
b. 允许同一个类型说明中,说明多个数组和多个变量 例:int a,b,c,d,k1[10],k2[20];
c. 下标都是从0开始的
d. 不允许对数组的大小作动态定义,但可以动态赋值
e. 内存存放从低地址到高地址
二、一维数组
(1)、赋值: 初始化赋值:int a [10] = {0,1,2,3,4,5,6,7,8,9};
可以只赋值一部分元素,没有赋值的元素为 0 : int a[10]={0,1,2,3,4};
使一个数组中全部元素值为 0 : int a[10] = {0,0,0,0,0,0,0,0,0,0}; <==> int a[10]={0};
int a[5]={0,1,2,3,4}; 可以写为 int a[ ]={0,1,2,3,4};
动态赋值: int i,a[10];
printf("请输入10个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
(2)、例题:
(3)、冒泡排序
关键: 掌握两个循环,外层循环限制有多少趟的比较,内层循环限制某趟比较要进行两两对比的次数
三、二维数组
int a[3][4] ==> 3行4列的数组
地址存放顺序:
赋值:a. int a[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
b. int a[3][4]={ 1,2,3,4,5,6,7,8,9,10,11,12 };
c. 对部分元素赋值 例: int a[3][4]={ {1},{2},{3} }; ==> a[0][0]==1, a[1][0]==2, a[2][0]==3,其他都为 0
d. 如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维不能省 例:
int a [3][4]={ 1,2,3,4,5,6,7,8,9,10,11,12 }; <==> int a [ ][4]={ 1,2,3,4,5,6,7,8,9,10,11,12 };