查找多维数组的大小

kxf*_*951 3 c++ arrays multidimensional-array

我如何找到这样的数组的字节大小?

    double dArray[2][5][3][4];
Run Code Online (Sandbox Code Playgroud)

我试过这种方法,但它返回“2”。也许是因为数组只是声明而不是填充任何东西?

     #include <iostream>
     #define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0])))
     using namespace std;

      int main() {
        double dArray[2][5][3][4];
        cout << ARRAY_SIZE(dArray) << endl;
       }
Run Code Online (Sandbox Code Playgroud)

Dre*_*ann 5

我如何找到以字节为单位的大小

这告诉您数组中存在多少个元素。它给出了2for的预期答案dArray

#define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0])))
Run Code Online (Sandbox Code Playgroud)

如果你想要它的字节数,这会做到。

#define ARRAY_SIZE(array) (sizeof(array))
Run Code Online (Sandbox Code Playgroud)

也许是因为数组只是声明而不是填充任何东西?

这不会影响sizeof. 数组没有填充或未填充的概念。