重複の可能性:
パラメーターとして渡された配列のサイズ
次のコードの出力がなぜ 1 と 9 になるのか疑問に思っていました。これは、関数のサイズで配列が宣言されていないためですか? 「配列のサイズ」を関数に分離するにはどうすればよいですか?
#include "stdafx.h"
#include <iostream>
using namespace std;
int size(int a[])
{
return sizeof a/sizeof a[0];
}
int main()
{
int a[] = {5,2,4,7,1,8,9,10,6};
cout << size(a) << endl;
cout << sizeof a/sizeof a[0] << endl;
system("pause");
return 0;
}