Разница между типами _Bool и bool в C?

Может ли кто-нибудь объяснить мне, какая разница между типами данных _Bool и bool в C? Например

_Bool x = 1; bool y = true; printf("%d", x); printf("%d", y); 

Эти типы данных были добавлены в C99. Поскольку bool не был зарезервирован до C99, они используют ключевое слово _Bool (которое было зарезервировано).

bool – псевдоним для _Bool если вы включаете stdbool.h . В принципе, включая заголовок stdbool.h – это признак того, что ваш код в порядке, при этом идентификатор bool является «зарезервированным», то есть ваш код не будет использовать его для своих целей (аналогично для идентификаторов true и false ).

Нет никакой разницы.

bool – макрос, который расширяется до stdbool.h в stdbool.h .

И true – макрос, который расширяется до 1 в stdbool.h

  • Правильный способ утилиты Image / Bitmap и PictureBox
  • Когда рекомендуется использовать strdup (vs malloc / strcpy)
  • Практическое использование setjmp и longjmp в C
  • Каков эффективный способ подсчета бит в позиции или ниже?
  • Как представить номер FLOAT в памяти на C
  • Передача массива структур в C
  • Почему я не могу назначить массивы как & a = & b?
  • Массивы, распадающиеся на указатели
  • Как «while (* s ++ = * t ++)» скопировать строку?
  • Плакат с 8 этапами перевода на языке C
  • Что возвращает sizeof (имя функции)?
  • Давайте будем гением компьютера.