Цель c булевы значения

Я задавался вопросом, чем различие было между следующими значениями в цели c:

TRUE(uppercase) - true(lowercase) - yes
FALSE(uppercase) - false(lowercase) - no

они окрашены по-другому в IDE, есть ли различные ситуации при использовании различных булевых значений?

Спасибо

11
задан Vladimir 10 August 2010 в 18:48
поделиться

1 ответ

Эти значения окрашены по-разному, поскольку они используются в двух разных типах - BOOL и bool и представляют собой разные языковые конструкции.

BOOL - это переопределение макроса signed char , что означает, что он может иметь более двух значений, а отображение NO / FALSE == 0, ДА / ИСТИНА == 1, вы должны быть осторожны при написании логических выражений и рассматривать любое ненулевое значение как истинное. Значения, которые могут быть присвоены BOOL , определены как макросы и окрашены соответствующим образом.

Между тем, bool , с другой стороны, является истинным логическим типом и может иметь только два значения - true и false . Его значения являются конструкциями на родном языке и окрашены как таковые.

Вот некоторые другие обсуждения этой темы в рамках SO:
Есть ли разница между ДА / НЕТ, ИСТИНА / ЛОЖЬ и истина / ложь в объекте-c?
Цель-C: BOOL vs bool

15
ответ дан 3 December 2019 в 08:02
поделиться