@famousman204

Как проверить пустой ли массив?

Добрый вечер! Не знаю как можно проверить пустой ли массив, или в нём есть данные. Для примера есть такой код:
int		max(int* tab, unsigned int len)
{
	int i;
	int tmp;

	i = 0;
	tmp = tab[i];
	while (i != len)
	{
		if (tmp <= tab[i])
			tmp = tab[i];
		i++;
	}
	return (tmp);
}
int		main(void)
{
	int arr[10];
	printf("%i", max(arr, 10));
	return (0);
}

т.е. если массив пустой, он должен вернуть 0. Но как это сделать я не знаю, помогите плез!
  • Вопрос задан
  • 3630 просмотров
Решения вопроса 2
@TheCalligrapher
В языке С в принципе не бывает "пустых" массивов. Разве что динамически выделенная под массив память может иметь размер 0 или flexible array member в структуре может соответствовать массиву размера 0.

Поэтому не ясно, о чем вы вообще ведете речь.

В любом случае, передавать в такую функцию правильный размер массива - ваша задача.
Ответ написан
Комментировать
wisgest
@wisgest
Не ИТ-специалист
//...
  i = 0;
  tmp = 0;
  while (i < len)
  {
    if (tab[i] > tmp)
      tmp = tab[i];
    i++;
  }
//...

(Массив пустой, если его длина len равна 0.)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы