一维数组
int arr[]={0};
这个数组就是一维数组由int 可知该数组为整形数组与 int arr=0不同的是该数组的类型为int[]但数组名仍为arr,定义一个数组是一般初始化初始化分为两种:完全初始化和不完全初始化 从下面的例子我门对两种初始化进行区分:
int arr[5]={1,2,3,4,5};//完全初始化
int arr[5]={0};//不完全初始化
int arr[n]中n为几就代表由几个元素在大括号内如果将全部元素占满那么就称为完全初始化否则就为不完全初始化,自然数组也是可以输入的例如:
int arr[5]={0};
int i=0;
for(i=0;i<5;i++){
scanf("%d",&arr[i]);
}
数组的使用是通过下标进行的但是数组的下标是从零开始的也就是若有五个数则对应的下表为
0 1 2 3 4, 如果arr的第一个元素为1那么arr[0]=1,依次类推,这里需要特别说明的如果在声明一个数组的时候n不写那么系统会按照你输入的元素数量自动匹配大小,
二维数组 二维数组的基本格式为:
int arr[5][5]={0};
与一维数组相似的是数组名仍为arr 数组类型为int [5][5]。该数组表示有5行5列的元素当然5*5=25个元素 ,二维数组的输入与一维数组有些细微差别:
int i=0;
int j = 0;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
scanf("%d",&arr[i][j]);
}
}
同一维数组一样行列同样从0开始,使用也基本与一维数组相同, 二位数需要特别注意其中行可有可无但列必须有否则这个二维数组就是错误
int arr[][n]={0};//正确
int arr[][]={0};//错误
在二维数组中也可以将初始化的数放在指定的行中如:
int arr[5][5]={{1,2,3},{4,5,6},{7,8,9,0}}
该结果就为第一行为1 2 3第二行为4 5 6 第三行7 8 9 0(捎带提一句为初始化的元素都默认为0),相信大家可以通过这种方式以此类推第四行第五行该怎么定义。
二维数组的输出只需将scanf()改为printf():
int i=0;
int j = 0;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
scanf("%d",arr[i][j]);
}
}
与输入相同的是输出也是先输出一行的元素然后行数依次递加直至为4。