我有这个测试程序,它给出了以下输出。
#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));
}
输出
.size of char : 1 ..size of char array: 8 .size of char array: 10
现在我明白了,在第一个语句中它的数组成员的大小和第三个语句是整个数组的大小但是第二个 printf 中的 8 在这里说什么?