1.二维数组的概念

二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有缝隙

二维数组的每个元素是一维数组

2.二维数组的使用

(1)定义二维数组:

int a[100][50];//定义一个100列,50行的二维数组

(2)给二维数组赋值:

int a[100][50];
a=100;//直接赋值,没有明确目标,错误❌
int a[100][50];
a[3][5]=60;//明确给a的第三行第五列赋值,正确✔
int a[100][50];
for(int i=1;i<=100;i++){//控制列数
    for(int i=1;i<=50;i++){//控制行数
        a[i][j]=i+j;//使用双循环依次赋值,正确✔
    }
}

(3)二维数组输入

int a[100][50];
cin>>a;//直接输入,没有明确目标,错误❌
int a[100][50];
cin>>a[3][5];//明确给a的第三行第五列输入,正确✔
int a[100][50];
for(int i=1;i<=100;i++){//控制列数
    for(int i=1;i<=50;i++){//控制行数
        cin>>a[i][j];//使用双循环依次输入,正确✔
    }
}

(4)二维数组输出

int a[100][50]={2,0,2,5},{8,14};
cout<<a;//直接输出,没有明确目标,错误❌
int a[100][50]={2,0,2,5},{8,14};
cout<<a[3][5];//明确给a的第三行第五列输出,正确✔
int a[100][50]={2,0,2,5},{8,14};
for(int i=1;i<=100;i++){//控制列数
    for(int i=1;i<=50;i++){//控制行数
        cout<<a[i][j];//使用双循环依次输出,正确✔
    }
}

(5)二维数组的计算

int a[5][5];
a[1][1]=1;//将a[1][1]设为1
a[2][1]=1;//将a[2][1]设为1
cout<<a[1]+a[2];//此时会输出2,二维数组里的数和变量一样,可以直接用来计算