Какой заголовочный файл вы включаете, чтобы использовать тип bool в c в linux? - PullRequest
23 голосов
/ 25 мая 2011

Вот все .h файлы, которые я включил до сих пор, но не имеют определения bool:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <pthread.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>
#include <event.h>

Какой файл определяет bool?

Ответы [ 4 ]

31 голосов
/ 25 мая 2011

Это часть C99 и определено в определении POSIX stdbool.h .

15 голосов
/ 25 мая 2011

bool - это просто макрос , который расширяется до _Bool. Вы можете использовать _Bool без #include так же, как вы можете использовать int или double; это ключевое слово C99.

Макрос определен в <stdbool.h> вместе с 3 другими макросами.

Определены макросы

  • bool: макрос расширяется до _Bool
  • false: макрос расширяется до 0
  • true: макрос расширяется до 1
  • __bool_true_false_are_defined: макрос расширяется до 1
14 голосов
/ 09 сентября 2016

#include <stdbool.h>

Для кого-то вроде меня здесь, чтобы скопировать и вставить.

0 голосов
/ 03 апреля 2016

Попробуйте этот заголовочный файл в вашем коде

stdbool.h

Это должно работать

...