История изменений
Исправление tyamur, (текущая версия) :
Все правильно сказал пользователь который удалился.
void test(int arr[]){
printf("%d\n",sizeof(arr)/sizeof(int));
}
void main(){
int arr[] = {10,20,30,40,50};
printf("%d\n",sizeof(arr)/sizeof(int));
test(arr);
}
sizeof(arr) в main выдаст 20 (байт). В функции тест выдаст 4. так как будет расматривать не как массив а как указатель.
$gcc main.c -o main && ./main
$5
$1
Исходная версия tyamur, :
Все правильно сказал пользователь который удалился.
void test(int arr[]){
printf("%d\n",sizeof(arr)/sizeof(int));
}
void main(){
int arr[] = {10,20,30,40,50};
printf("%d\n",sizeof(arr)/sizeof(int));
test(arr);
}
sizeof(arr) в main выдаст 20 (байт). В функции тест выдаст 4. так как будет расматривать не как массив а как указатель.