可做商业用途的图片网站,合肥瑶海区有什么大学,网址seo优化排名,设计网站案例前言 在前面我们学习了一维数组#xff0c;但是有的问题需要用二位数组来解决。 二维数组常称为矩阵#xff0c;把二维数组写成行和列的排列形式#xff0c;可以有助于形象化的理解二维数组的逻辑结构。
一、二维数组的定义 二维数组定义的一般格式#xff1a; 数据类型 数…前言 在前面我们学习了一维数组但是有的问题需要用二位数组来解决。 二维数组常称为矩阵把二维数组写成行和列的排列形式可以有助于形象化的理解二维数组的逻辑结构。
一、二维数组的定义 二维数组定义的一般格式 数据类型 数组名[常量表达式1] [常量表达式2] 例如int a[4][10] a数组实质上是一个有4行、10列的表格表格中可储存40个元素。第1行第1列对应a数组的
a[0][0]第n行第m列对应数组元素a[n-1][m-1]。 在C语言中二维数组中元素的排列顺序是按行排放的即在内存中先顺序存放第一行的元素
接着存放第二行的元素......
二、二维数组的引用 二维数组的数组元素引用与一维数组元素引用类似区别在于二维数组元素的引用必须给出
两个下标。 引用的格式为 数组名 [下标1] [下标2] 例如int a[3][5] 则表示a是二维数组相当于一个3*5的表格共有3*515个元素它们是 a[0][0] a[0][1] a[0][2] a[0][3] a[0][4] a[1][0] a[1][1] a[1][2] a[1][3] a[1][4] a[2][0] a[2][1] a[2][2] a[2][3] a[2][4] 因此可以看成一个矩阵表格a[2][3]即表示第3行第4列的元素。
三、二维数组的初始化
1.全部赋初值 int a[3][4]{{1,2,3,4},{5,6,7,8},{9,10,11,12}} 第1个括号是第1行的数据第2个括号是第2行的数据第3个括号是第3行的数据。 int a[3][4]{1,2,3,4,5,6,7,8,9,10,11,12} 这写法与上面的表达效果一样但是还是第一种方法好界限清除。
2.部分赋初值 int a[3][4]{{1},{5},{9}}相当于 int a[3][4]{{1},{0,5},{1,1,9}}相当于 int a[3][4]{{1},{0},{1,1,9}}相当于 3.特殊赋初值 int a[3][4]{1,2,3,4,5,6,7,8,9,10,11,12} int a[][4]{1,2,3,4,5,6,7,8,9,10,11,12} 这两种定义方式等价系统会自动通过总个数和第二维的长度算出第一维的长度。
四、二维数组程序例子 将一个二为数组的的行与列的元素互换存到另一个二维数组中。
#includestdio.h
int main()
{int a[2][3]{{1,2,3},{4,5,6}};int b[3][2];int i,j;printf(array a: \n);for(i0;i1;i){for(j0;j2;j){printf(%5d,a[i][j]);b[j][i]a[i][j];}printf(\n);}printf(array b: \n);for(i0;i2;i){for(j0;j1;j){printf(%5d,b[i][j]);}printf(\n);}return 0;
}array a: 1 2 34 5 6
array b:1 42 53 6
PS C:\csay\cyuyan 可以定义两个数组数组a为3行2列存放指定的六个数数组b为3行2列开始时未赋值只
要a数组中的元素a[i][j]存放到b数组中的b[j][i]元素就可以了用嵌套的for循环可完成此任务 。