我试图通过参数传递和返回一个二维动态数组,但是它总是显示我在问题中提到的这个警告。我知道数组参数有问题,但我在任何书籍或网站中都找不到如何正确传递维度发生变化的数组。我读过类似的关于警告的问题,主要是关于&在你的指针中添加一个,我没有在我的指针中添加。
#include <stdio.h>
#include <stdlib.h>
void fun(int m, int n, int (*arr)[n]);
int main(void) {
int i, j, m, n, **arr;
printf("Enter the dimensions m, n\n");
scanf("%d %d", &m, &n);
arr = (int **)malloc(m * sizeof(int *));
for (i = 0; i < m; i++) {
arr[i] = (int *)malloc(n * sizeof(int));
}
fun(m, n, *arr);
printf("\n\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%5d", arr[i][j]);
} …Run Code Online (Sandbox Code Playgroud)