このテストプログラムがあり、以下の出力が得られます。
#include<iostream>
#include<cstdio>
void fun(char arr[])
{
printf(".size of char : %d\n.", sizeof(arr[0]));
printf(".size of char array: %d\n.", sizeof(arr));
}
main()
{
char arr[10]={'a','b','c','d','e'};
fun(arr);
printf("size of char array: %d\n", sizeof(arr));
}
出力
.char のサイズ: 1 ..char 配列のサイズ: 8 .char 配列のサイズ: 10
これで、最初のステートメントでは配列のメンバーのサイズ、3 番目のステートメントでは配列全体のサイズであることがわかりましたが、2 番目の printf の 8 はここで何と言っていますか?