sizeof массива внутри функции: что напечатает программа
Сборка 64-битная: sizeof(int) равен 4, размер указателя — 8 байт.
#include <stdio.h>
void print_size(int arr[]) {
printf("%zu\n", sizeof(arr));
}
int main(void) {
int a[10];
printf("%zu\n", sizeof(a));
print_size(a);
return 0;
}
Что выведет программа?
- 40, затем 8
- 40, затем 40
- 40, затем 10
- 8, затем 8
