问题遇到的现象和发生背景
今天写代码发现一个问题,就是动态二维数组可以通过传参的方式传到另一个函数吗?
问题相关代码,请勿粘贴截图
我的代码如下,我想将随便给定一个二维数组传到Acc里面并进行转置,当然 在主函数里转置已经完成了,当我们在使用的时候肯定不会是在主函数里使用吧,肯定是随机给出一个二维数组,最后给出转置后的结果,难在二维数组的行数和列数不确定,有知道的小伙伴一定要告诉我啊,谢谢
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void Acc(int *acc, int n, int m)
{
}
int main()
{
int arr[2][3] = { {1,2,3},{4,5,6} };
int n = 0, m = 0;
n = sizeof(arr) / sizeof(arr[0]);//计算二维数组的行数
m= sizeof(arr[0]) / sizeof(arr[0][0]);//计算二维数组的列数
Acc(&arr, n, m);
////定义动态二维数组
//int** p; //定义二维指针。
//p = (int**)malloc(sizeof(int*) * m); //申请一组一维指针空间。
//for (int i = 0; i < m; i++)
//{
// p[i] = (int*)malloc(sizeof(int) * n); //对于每个一维指针,申请一行数据的空间。
//}
////将数组的值转置并赋值给动态数组
//for (int i = 0; i < m; i++)
//{
// for (int j = 0; j < n; j++)
// {
// p[i][j] = arr[j][i];
// printf("%d\t", p[i][j]);
// }
// printf("\n");
//}
////释放内存
//for (int i = 0; i < m; i++)
// free(p[i]);
//free(p);
return 0;
}