Когда мы передаем массив в качестве аргумента мы принимаем его как указатель, то есть:Передача массива в функцию
func(array);//In main I invoke the function array of type int and size 5
void func(int *arr)
or
void fun(int arr[])//As we know arr[] gets converted int *arr
Здесь базовый адрес сохраняется в arr
.
Но когда пропущенный массив принимается таким образом:
void func(int arr[5])//Works fine.
ли получить выделяется память для обр [5]?
Если да, то что с ним происходит?
Если нет, то почему память не выделяется?
не может быть никаких новых оснований, связанных с массивами C в качестве параметров на SO ... в поисках близких, как дубликатов ... Я не могу, потому что их слишком много на выбор. –