C++,用多维数组名作为函数参数时,如果数组的行和列均是变量,怎么办?
6个回答
展开全部
打个比方,比如说你在前面声明了一个二维数组int a[m][n],并对数组初始化成功
现在你可以设计一个这样的函数void fun(int bufa[][],int ma,int nb,int bufb[][],int mb,int nb);
这样你在调用的时候只需要将数组名作为参数传递给fun函数了,当然这个时候形参ma,na,mb,nb其实是可要可不要的,传递过去肯定要方便些
现在你可以设计一个这样的函数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;
动态开一个二维数组
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数组的部分了,就是不知道怎么设计函数,函数的形参不是要求行或列至少一个是常量么?
追答
要求列,运算你直接使用矩阵相乘公式就好了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以传一个指针的指针吧,如**p,然后在函数中动态分配指定的行和列的空间,形成多维数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用户输入的是行和列的数字,你用数组接收就行了。
追问
不好意思可能我没表达清楚,题目要求设计一个函数计算两个矩阵相乘,用二维数组(矩阵)作为这个函数的参数。
我已经弄好随机生成指定m*n数组的部分了,就是不知道怎么设计函数,函数的形参不是要求行或列至少一个是常量么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用指向指针的指针来赋值,在传递
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询