null第七章二维数组
7.1基本操作第七章二维数组
7.1基本操作二维数组:一维数组,数组中每个元素是类型相同的一维数组。
定义:
类型说明符 数组名[常量表达式][常量表达式]
float a[3][4]
数组名为a,有12个元素,下标从0开始,即a[0][0] a[0][1] …a[2][3]
在内存中按先行后列存放
a[0][0] a[0][1] …a[2][3]
二维数组二维数组数组元素的引用形式
数组名[下标][下标]二维数组二维数组初始化
分行给二维数组赋初值
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
按数组排列顺序对各元素赋初值
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
对部分元素赋初值
int a[3][4]={{1},{5},{9}}; 其余元素值自动为0
int a[3][4]={1,5,9};二维数组二维数组赋值
int a[2][3];
a[0][0]=1
a[0][1]=1
a[0][2]=1
a[1][0]=1
a[1][1]=1
a[1][2]=1for(j=0;j<3;j++)
a[0][j]=1 ;for(i=0;i<2;i++)/* */
a[i][j]=1;二维数组二维数组1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=1; if (i==j)
else
a[i][j]=0;二维数组二维数组1 2 2 2
0 1 2 2
0 0 1 2
0 0 0 1for(i=0;i<4;i++)
for(j=0;j<4;j++)
if (i==j) a[i][j]=1;
else a[i][j]=0; else if (i
main()
{
int i,j;
int a[3][3];
for(i=0;i<3;i++)
for (j=0;j<3;j++)
a[i][j]=(i+1)*10+j;
}二维数组二维数组接收
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);二维数组二维数组输出
for(i=0;i<4;i++)
for (j=0;j<4;j++)
printf(“%d”, a[i][j]);
printf(“\n”);
{
}
0 1 1 1
2 0 1 1
2 2 0 1
2 2 2 07.2 二维数组名作为参数7.2 二维数组名作为参数void fun (double a[M][N] )
void fun (double a[ ][N] )
main( )
{double x[M][N];
fun(x);
}null#define M 3
#define N 4
void LineMax ( int x[ ][N] )
{
int i,j,colum;
for(i=0;i
void reverse( int x[ ][2], int y[ ][3] );
main( )
{
int x[ 3 ][ 2 ] = { {1,2}, {3,4}, {5,6} };
int *p, y[ 2 ][ 3 ];
reverse( x, y ); /* 矩阵转置 */
p = &y[0][0]; /* 取首地址 */
while( p <= &y[ 1 ][ 2 ] )
printf(“%d, ”, *p++ ); /* 打印1,3,5,2,4,6,*/
}转置函数的实现转置函数的实现void reverse( int x[ ][ 2 ], int y[ ] [ 3 ] )
{
int i, j;
for( i=0; i<3; i++ )
for( j=0; j<2; j++ )
y[ j ][ i ] = x[ i ][ j ];
}
/* 作为参数的多维数组,不指定第一维的大小 */二维字符数组二维字符数组char s[3][4]={"ABC","DEF","GHI"};
for(i=0;i<3;i++)
printf("%s\n",s[i]);null二维数组小结
double arr[ 10 ][ 20 ];
存储时按行排列
下标范围
arr[ 0 ][ 0 ] – arr[ 9 ][ 19 ]
初始化
int x[ 3 ][ 2 ] = { {1,2}, {2,2} {3,2}};
数组元素访问
arr[ 0 ][ 0 ] = arr[ 1 ][ 2 ] + 9.2;
参数声明(传数组首地址)
fun( int x[ ][ 2 ] )
本文档为【C语言二维数组】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。