我正在尝试获取 C++ 中数组的大小,以便稍后用于处理。为什么这会产生 16?
#include <iostream>
using namespace std;
int main()
{
int a[4];
cout << sizeof(a) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不应该给20吗?因为这个数组从 a[0] 到 a[4] 基本上有 20 个字节?可以通过以下方式验证元素的大小 -
sizeof(a[0])
Run Code Online (Sandbox Code Playgroud)
现在这是 4。16/4 = 4,这意味着有 4 个 4 字节的块,而实际上应该是 5。为什么会这样?
PS 我的主要困惑源于获取 sizeof(a[4]) - 它是 4。因为它给出了输出 4 - 我认为它是数组的一部分。