Проверьте, является ли первый символ '\ 0'. Вы также должны, вероятно, проверить, является ли ваш указатель NULL.
char *c = "";
if ((c != NULL) && (c[0] == '\0')) {
printf("c is empty\n");
}
Вы можете поместить обе эти проверки в функцию, чтобы ее было удобно и легко использовать повторно.
Edit:
В операторе if это можно прочитать следующим образом: «Если c не ноль и первый символ массива символов« c »не равен« \ 0 »или нулю, то ...».
&&
просто объединяет два условия. Это как сказать:
if (c != NULL) { /* AND (or &&) */
if (c[0] == '\0') {
printf("c is empty\n");
}
}
Возможно, вы захотите получить хорошую книгу по программированию на C, если она вам не понятна. Я мог бы порекомендовать книгу под названием «Язык программирования Си».
Самая короткая версия, эквивалентная приведенной выше, будет:
if (c && !c[0]) {
printf("c is empty\n");
}