1.二维数组:由行和列两个参数控制的元素集合。二维数组的声明格式:
(元素数据类型) 数组名 【a】【b】(a,b)代表数组大小。二维数组的下标也为0~a-1/b-1。
例如:
int sz[3][4];
定义了一个3行4列的数组。
声明一个二维数组时,行的参数可以省略,系统可以根据赋值确定行的参数。赋值的时候,可以全部赋值,也可部分赋值,也可直接赋0,示例如下:
1.int fs[][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2.int fs[][4] = {{1},{},{3}};
3.int fs[][4] = {0};
空余部分,系统自动补0。
下面是一个二维数组的小练习:定义一个二维数组,使行和列元素互换,代码如下:
int main(){
int a,b;
int fu[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int sl[4][3] = {0};
for(a = 0;a<3;a++){
for(b = 0;b<4;b++){
printf("%d ",fu[a][b]);
}
printf("\n");
}
printf("\n");
for(a = 0;a<3;a++){
for(b=0;b<4;b++){
sl[b][a] = fu[a][b];
}
}
for(a=0;a<4;a++){
for(b = 0;b<3;b++){
printf("%d ",sl[a][b]);
}
printf("\n");
}
}
结果:
简单的思路就是,先定义一个行和列参数相反的数组,然后,将参数悉数赋过去就好。
2.全局变量和局部变量:定义变量有四种情况:在函数的开头定义;在函数内定义;在复合语句中定义;在函数的外部定义。变量类型分为:全局变量和局部变量,全局变量在函数外定义,在本文件中的所有函数都可以使用,定义范围从定义到文件结束。局部变量是在函数内定义的变量,只能在该函数使用。但是,不同的函数可以使用相同的变量名,他们代表不同的对象,互不干扰。
总结:今天主要学习了二维数组,二维数组与昨天学习的一维数组大差不差,所以很容易理解,不过与前面所学知识结合起来,解决复杂问题仍有难度,需多加练习。
思维导图如下: