重複の可能性:
C++ で配列を引数として渡す
C プログラミング言語の配列のサイズ?
次のコードの出力について説明してください。
#include<iostream>
using namespace std;
void foo(int array[])
{
int size = sizeof(array) / sizeof(array[0]);
cout<<size<<endl;
}
int main()
{
int array[] = {1,2,3};
int size = sizeof(array) / sizeof(array[0]);
cout<<size<<endl;
foo(array);
return 0;
}
対応する出力は次のとおりです。
3
2
foo()内とmain()内の両方のコードは、同じ出力を生成するために私に似ているように見えますが、そうではありません。理由を説明していただけますか?