所以我一直以这种方式制作数组,但我发现了一个错误,让我们说这是一个循环复制和逐个元素的数组:
int v1[] = { 3, 4, 7, 8};
int v2[sizeof(v1)];
for (auto i = 0; i < sizeof(v2); ++i)
{
v2[i] = v1[i]
}
v2数组的大小不会是4个整数,而是将它们全部加起来。所以v2的大小为22而不是4个整数。所以我想知道是否有任何方法可以找到数组的大小,而无需去阵列,看看手动有多少元素。有办法吗?感谢。
答案 0 :(得分:3)
答案 1 :(得分:2)
虽然我同意其他人一般应该使用STL容器,但在您的情况下,您可以使用sizeof(v1)/sizeof(int)
获取数组中元素的数量。 sizeof(v1)
将为您提供4个整数数组的总字节数,除以sizeof(int)
将为您提供元素数。