二维数组
二维数组的一般定义格式为:
类型说明符 数组名 [常量表达式1][常量表达式2];
常量表达式1表示的是行数,表达式2表示的是列数,一维数组有一个下标,二维有两个;
二维数组元素的引用;
与一维数组引用的方式相同,元素只能单个引用不能整体引用,引用时中需要在数组名后加上其下标即可,如下:
数组名[下标1][下标2];其中下标可以为,整形常量,变量或者整形表达式
对于二维数组的输入和输出通常使用双重循环实现,如,外层循环控制行下标,则内层是控制列下标;
如:
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
} (输入二维数组a的元素)
二维数组的初始化
1.按行分段赋值
int[4][3] = {(80,75,92),(61,65,71),(59,63,70),(85,87,90)} 四行三列
2.按行连续赋值
int[4][3] = {80,75,92,61,65,71,59,63,70,85,87,90} 四行三列
3.可以只对部分元素赋初值,未赋值的元素取0值
int a[3][3] = {{ 1 },{ 2 },{ 3 }}; 这是对每一行的第一列元素赋值
上面等价于下面:
int a[3][3] = {(1,0,0),(2,0,0),(3,0,0)};
4.对全部的元素赋初值,则一维的长度可以不给出
int a[3][3] = {1,2,3,4,5,6,7,8,9};
可以写成:
int a[ ][3] = {1,2,3,4,,5,6,7,8,9};