使用指针在C中查找2D数组的尺寸

use*_*698 1 c pointers dynamic-arrays

我在C中创建一个2D数组,如下所示:

int **arr;
arr = malloc(rows * sizeof(int *));

for (i = 0; i < rows; i++)
    arr[i] = malloc(cols * sizeof(int));
Run Code Online (Sandbox Code Playgroud)

现在,我打电话给:

func(arr)
Run Code Online (Sandbox Code Playgroud)

在该函数中func,如何计算行和列尺寸?

Mic*_*ski 8

你无法计算它 - arr只是一个指向指针的指针,没有更多与之相关的信息(与所有C数组一样).您必须将维度作为单独的参数传递.