C++,用多维数组名作为函数参数时,如果数组的行和列均是变量,怎么办?

(我在程序开始要求用户输入行和列,但是这样它们就成了变量,怎么用数组名作为函数参数呢?)... (我在程序开始要求用户输入行和列,但是这样它们就成了变量,怎么用数组名作为函数参数呢?) 展开
 我来答
俎晨朗7F
2012-05-17 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:118万
展开全部
打个比方,比如说你在前面声明了一个二维数组int a[m][n],并对数组初始化成功
现在你可以设计一个这样的函数void fun(int bufa[][],int ma,int nb,int bufb[][],int mb,int nb);
这样你在调用的时候只需要将数组名作为参数传递给fun函数了,当然这个时候形参ma,na,mb,nb其实是可要可不要的,传递过去肯定要方便些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-17
展开全部
数组的行和列均是变量,需要动态开数组,在C++里面需要用到new
动态开一个二维数组
int iRow = 5;
int iLine = 5;
int **pArry = new int*[iRow];
for(int i=0;i<iRow;i++)
pArry[i] = new int[iLine];
用完数组后需要释放,
for (int i=0;i<iRow;i++)
delete[] pArry[i];
delete[] pArry;
更多追问追答
追问
不好意思可能我没表达清楚,题目要求设计一个函数计算两个矩阵相乘,用二维数组(矩阵)作为这个函数的参数。
我已经弄好随机生成指定m*n数组的部分了,就是不知道怎么设计函数,函数的形参不是要求行或列至少一个是常量么?
追答
要求列,运算你直接使用矩阵相乘公式就好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanlian0204
2012-05-18
知道答主
回答量:2
采纳率:0%
帮助的人:3141
展开全部
可以传一个指针的指针吧,如**p,然后在函数中动态分配指定的行和列的空间,形成多维数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beyondncz
2012-05-17 · 超过10用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:29.4万
展开全部
用户输入的是行和列的数字,你用数组接收就行了。
追问
不好意思可能我没表达清楚,题目要求设计一个函数计算两个矩阵相乘,用二维数组(矩阵)作为这个函数的参数。
我已经弄好随机生成指定m*n数组的部分了,就是不知道怎么设计函数,函数的形参不是要求行或列至少一个是常量么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wunian_123
2012-05-17 · 超过31用户采纳过TA的回答
知道答主
回答量:121
采纳率:47%
帮助的人:38.5万
展开全部
可以用指向指针的指针来赋值,在传递
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式