如何找到这样一个数组的字节大小?
double dArray[2][5][3][4];
我尝试过这个方法,但它返回"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;
}
我如何找到以字节为单位的大小
这个命令告诉数组中有多少元素。并给出了CCD_ 1对CCD_。
#define ARRAY_SIZE(array) (sizeof((array))/sizeof((array[0])))
如果你想要的是字节计数,这就可以了。
#define ARRAY_SIZE(array) (sizeof(array))
也许是因为数组只是声明的,没有填充任何内容?
这不会影响sizeof
的行为。数组没有已填充或未填充
array[0]
包含5 * 3 * 4
元素,因此当数组的第一个维度为2 时,sizeof(array) / sizeof(array[0])
将为您提供2
将宏重写为:
#define ARRAY_SIZE(array, type) (sizeof((array))/sizeof((type)))
要获得元素的数量,
或者简单地CCD_ 8来获得字节数。