C语言中 指针做函数参数传递二维数组

编写一个函数(参数用指针)将一个3行3列的二维数组a转置后保存到一个二维数组b,即将任意一个元素b[row][col]赋值为a[col][row]。转置的举例:123转置... 编写一个函数(参数用指针)将一个3行3列的二维数组a转置后保存到一个二维数组b, 即将任意一个元素b[row][col]赋值为a[col][row]。 转置的举例: 1 2 3 转置后变成: 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 展开
 我来答
赖平禾鸿运
2019-05-31 · TA获得超过3468个赞
知道小有建树答主
回答量:3013
采纳率:29%
帮助的人:396万
展开全部
C语言中
指针做函数参数传递二维数组有两种基本方法:
1、传递“数组指针”
#include <stdio.h>
void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组
{
int i,j;
for( i=0;i<n;i++ ){
for( j=0;j<3;j++ )
printf("%d ", pa[i][j] );
printf("\n");
}
}
void main()
{
int a[2][3]={
{1,2,3},
{4,5,6}
};
output(a,2);
}
2、传递“指针数组”
先将二维数组的行指针存储到一个指针数组中,再将指针数组传递到子函数中去。
#include <stdio.h>
void output( int *pa[], int row,int col ) //这个函数更通用,但调用前,要做好准备工作。
{
int i,j;
for( i=0;i<row;i++ ){
for( j=0;j<col;j++ )
printf("%d ", pa[i][j] );
printf("\n");
}
}
void main()
{
int a[2][3]={
{1,2,3},
{4,5,6}
};
int i;
int *pa[2];
for( i=0;i<2;i++ )
pa[i]=a[i];
output(pa, 2, 3);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式