У меня есть эта тестовая программа, и она дает ниже выход.sizeof на массиве, возвращающем разные значения
#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 полукокс: 1 ..size из массива символов: 8 .size из массива символов: 10
Теперь я понимаю, что в первом заявлении его размером члена массива, а в третьем выражении - размер всего массива, но что говорит 8 во втором printf здесь?