以C++为单位的二维数组的大小

Size of a 2d array in C++

本文关键字:二维数组 为单位 C++      更新时间:2023-10-16

我正在解决像 Leetcode 这样的在线判断问题,我想知道是否有可能获得给定 int**A 的 2d 数组的大小。 考虑函数,

int help(int** A){
int rows = sizeof(A)/sizeof(A[0]);
int columns = sizeof(A[0])/sizeof(A[0][0]);
}

但是我没有获得行和列的正确值。 如果我只有 int** A,有没有办法获取 2d 数组的大小。 我知道这个问题的框架很差,但我是C的初学者。

不,这是不可能的。

分配的内存中没有任何内容指示它的开始和结束位置。对于 2D 阵列,甚至不能保证内存是连续的。

**A不包含任何关于自身的数据 - 程序员必须跟踪有关数组的所有信息。