目录
一.数组的定义
数组,顾名思义,是为了方便计算而将相同类型的变量有序地排列起来。这个数组若为一个集合,这些有序的变量就为数组中的同类数据元素。
二.一维数组
(一)定义
首先接触到的就属一维数组了,一维数组中的所有元素可以看作一行,因此,在一维数组中,每个元素只需一个序号(下标)。
在C语言中,若要使用数组,要先给其一个定义。
一维数组的一般定义为:类型说明符 数组名[数组长度];
就如 int abc[5]; 就说明整数组abc中有5个元素
float abc[5];就说明实数组abc中有5个元素
char abc[5];就说明字符组abc中有5个元素
注意:在同一个数组内,所有元素的数据类型都应该相同。数组名不能和其他变量名相冲突。
(二)引用
数组名后的下标只能为整型常量或整型表达式,若为小数是,则自动取整。
例:abc[5]
abc[i+j]
abc[i++]
在C语言中只能逐个的使用下标变量而不能一次性使用整个数组
例如:在输出含5个元素的数组须使用循环语句来逐个输出各下标变量。二不能使用一个语句来输出整个数组。
for(i=0;i<5;i++)
printf("%d",a[i]);
(三)应用
列一个数组,包含有1-5这5个元素。
#include<stdio.h>
int main()
{
int a=0;
int abc[5]={1,2,3,4,5};
for (a=0;a<5;a++)
{
printf("%d",abc[a]);
}
printf("\n");
getchar();
return 0;
}
三.二维数组
(一)定义
二维数组中的所有元素分为若干行和若干列,因此,二维数组的每个元素需要俩个序号(下标)——行号与列号
仍然,需要先进行定义后使用。
二维数组的一般定义为:类型说明符 数组名[行数] [列数];
例:int a[2] [3] ,b[3] [4]; 就说明整数组a为2行3列,整数组b为3行4列。
就以a为例: a[0] [0],a[0] [1]
a[1] [0],a[1] [1]
a[2] [0],a[2] [1]
其中a[2] [1]就表示整数组a中第2行第1列的元素。
a[2] [3]在表中为呈现,所以为下标越界。
(二)引用
在一维数组中方括号[ ]表示的是数组长度即可取下标的最大值,而数组中的下标是该元素在数组中的位置表示。前者只能是常量,后者可以是常量,变量和表达式。
在C语言中,一般不能将二维数组作为一个整体进行输入,输出和运算,而只能针对二维数组的元素进行操作。
(三)二维数组的初始化
在定义二维数组的同时,给数组元素赋值,称为数组的初始化。.
数组的初始化有几种形式:
1.不分行初始化:
例:int a[2] [3]={1,2,3,4,5,6};
2.分行初始化:
例:int a[2] [3]={{1,2,3},{4,5,6}};
3.可以给部分元素赋初值,其余自动取0:
例:int a[3] [4]={{1},{2},{3}};
4.初始化时,可以不指定二维数组的行数,但是必须指定列数。
例:int a[ ] [4]={1,2,3,4,5,6};
系统编译时,能够根据初值的个数自动确定数组的行数
但int a[ ] [3];是错误的,因为无法确定数组的行数
int a[ ] [ ]={1,2,3,4,5,6};也是错误的,因为无法确定数组的行数和列数。