C++,用*数组名作为函数参数时,如果数组的行和列均是变量,怎么办?
发布网友
发布时间:2023-04-30 18:39
我来回答
共5个回答
热心网友
时间:2023-10-09 17:51
打个比方,比如说你在前面声明了一个二维数组int a[m][n],并对数组初始化成功
现在你可以设计一个这样的函数void fun(int bufa[][],int ma,int nb,int bufb[][],int mb,int nb);
这样你在调用的时候只需要将数组名作为参数传递给fun函数了,当然这个时候形参ma,na,mb,nb其实是可要可不要的,传递过去肯定要方便些
热心网友
时间:2023-10-09 17:51
数组的行和列均是变量,需要动态开数组,在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;
热心网友
时间:2023-10-09 17:52
可以传一个指针的指针吧,如**p,然后在函数中动态分配指定的行和列的空间,形成*数组
热心网友
时间:2023-10-09 17:52
用户输入的是行和列的数字,你用数组接收就行了。追问不好意思可能我没表达清楚,题目要求设计一个函数计算两个矩阵相乘,用二维数组(矩阵)作为这个函数的参数。
我已经弄好随机生成指定m*n数组的部分了,就是不知道怎么设计函数,函数的形参不是要求行或列至少一个是常量么?
热心网友
时间:2023-10-09 17:53
可以用指向指针的指针来赋值,在传递