小编ch3*_*055的帖子

main.c:警告:从不兼容的指针类型传递 '' 的参数

我试图通过参数传递和返回一个二维动态数组,但是它总是显示我在问题中提到的这个警告。我知道数组参数有问题,但我在任何书籍或网站中都找不到如何正确传递维度发生变化的数组。我读过类似的关于警告的问题,主要是关于&在你的指针中添加一个,我没有在我的指针中添加。

#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)

c malloc pointers dynamic

2
推荐指数
1
解决办法
520
查看次数

标签 统计

c ×1

dynamic ×1

malloc ×1

pointers ×1