我写了以下代码块。但sizeof()
返回的数组大小无关紧要。我有一个包含6个元素的数组,而sizeof()
返回24作为数组的大小。
以下是代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int arr[6] = { 0, 5, 8, 32, 100, 41 };
int arrSize = sizeof(arr);
int i = 0;
cout << "This is the Size of Array: " << arrSize << endl;
/*
for (i = 0; i < arrSize; ++i)
{
cout << arr[i] << endl;
} */
return 0;
}
这是输出:
This is the Size of Array: 24
答案 0 :(得分:2)
你应该做
int size = sizeof(arr)/sizeof(arr[0]);
这将找到数组的总大小,即。这里6 * 4 = 24
然后将其除以单个元素大小,因此24/4 = 6
答案 1 :(得分:1)
sizeof
给出 bytes
6 * 4字节整数= 24 字节