Выражение
return *text == '\0';
эквивалентно
return text[0] == '\0';
, что также эквивалентно
return text[0] == 0;
В каждом случае сравнивается первый символстрока, указанная от text
до 0, которая является ограничителем строки и возвращает результат сравнения.Это эквивалентно записи
if (*text == '\0') // or *text == 0, or text[0] == 0, or !*text, or !text[0]
return 1;
else
return 0;
Другим эквивалентом будет
return !*text; // or !text[0]
, который вернет 0, если *text
не ноль, 1 в противном случае, но это раздвигает границы хорошего вкуса,