Чем отличаются эти блоки кода ?
В первом передаем указатель на первый элемент массива, а во втором ?
1)
void FillArray(int *arr, const int size)
{
for (int i = 0; i < size; i++)
{
arr[i] = rand() % 100;
}
}
2)
void FillArray(int arr[], const int size)
{
for (int i = 0; i < size; i++)
{
arr[i] = rand() % 100;
}
}
Ответ
В данном случае разницы нет, как я понимаю. И во втором случае тоже передаем указатель на первый элемент массива. Синтаксис разный, смысл один и тот же: в функцию в качестве аргумента передаётся указатель на тип int.
В общем случае отличия, возможно, есть. Второй вариант использует объявление параметра, как массива. В итоге оно превратится в объявление параметра-указателя (т.е. в первый вариант), но с ограничением: размер массива должен быть больше нуля.
Комментариев нет:
Отправить комментарий