Логические значения в C

Введение в использование логических значений в C

Изначально в C не было встроенной поддержки логических значений.

C99, версияCвыпущен в19992000, представил логический тип.

Однако, чтобы использовать его, вам необходимо импортировать файл заголовка, поэтому я не уверен, что мы технически можем назвать его «родным». Во всяком случае, у нас естьboolтип.

Вы можете использовать это так:

#include <stdio.h>
#include <stdbool.h>

int main(void) {
  bool isDone = true;
  if (isDone) {
    printf("done\n");
  }

isDone = false; if (!isDone) { printf(“not done\n); } }

Если вы программируете Arduino, вы можете использоватьboolне включаяstdboolпотому чтоboolявляется допустимым и встроенным типом данных C ++, аЯзык Ардуиноэто C ++.

На простом C не забудьте#include <stdbool.h>иначе вы получите кучу ошибок при объявлении и каждый раз, когда будете использоватьboolПеременная:

➜  ~ gcc hello.c -o hello; ./hello
hello.c:4:3: error: use of undeclared identifier
      'bool'
  bool isDone = true;
  ^
hello.c:5:7: error: use of undeclared identifier
      'isDone'
  if (isDone) {
      ^
hello.c:8:8: error: use of undeclared identifier
      'isDone'
  if (!isDone) {
       ^
3 errors generated.  

Download my free C Handbook


More clang tutorials: