我是新来的C++编程,我试图获取数组的大小。有人可以解释为什么会发生这种情况吗?我试着运行runnable.com中的代码,结果如图所示。在初始化,未知大小的数组中使用sizeof() - C++
我相信这是不正确的做法。如果可能的话,你能提出任何简单的方法来获得这种数组的大小吗?
#include <iostream>
using namespace std;
int main()
{
int set1[] = {1, 9, 3, 50, 31, 65};
int set234[] = {3, 5, 5};
cout << sizeof(set1) << endl;
cout << sizeof(set234) << endl;
cout << "When sizeof() return value is divided by 4"<< endl;
cout << sizeof(set1)/4 << endl;
cout << sizeof(set234)/4 << endl;
return 0;
}
****************************************************************
Output:
24
12
When sizeof() return value is divided by 4
6
3
****************************************************************
**编辑:感谢您的回复。 飞走:D
'sizeof(arr)/ sizeof(arr [0])' – bolov 2014-09-02 17:29:13
@NOWA什么不清楚? – 2014-09-02 17:29:17
规范的答案是'sizeof(foo)/ sizeof(foo [0])'。 – 2014-09-02 17:36:15