繁体   English   中英

C++ 中二维数组的大小

[英]Size of a 2d array in C++

我正在解决像 Leetcode 这样的在线法官的问题,我想知道是否有可能在给定 int**A 的情况下获得二维数组的大小。 考虑 function,

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

但我没有得到正确的行和列值。 如果我只有 int ** A 是否有办法获得二维数组的大小。对于 char ** A 也有同样的问题。我知道这个问题的框架很差,但我是 C 的初学者。 谢谢你。

不,这是不可能的。

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

**A不包含任何关于它自己的数据——关于数组的所有信息都必须由程序员跟踪。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM