Объявление переменной bool в c на платформе linux - PullRequest
13 голосов
/ 13 августа 2010

Как объявить переменную типа bool в C, работающую на платформе Linux. Я пробовал следующее, но выдает ошибку:

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

bool factors[1000]
void main()
{
}

Ответы [ 5 ]

36 голосов
/ 13 августа 2010

Вам просто нужно #include <stdbool.h>.

5 голосов
/ 13 августа 2010

C не имеет типа bool. Вместо этого вы можете использовать int, используя 0 для false и 1 для true.

2 голосов
/ 13 августа 2010

Если тип не определен в вашей среде, вы можете определить собственные типы, также bool, например,

typedef enum {false,true} bool;
0 голосов
/ 13 августа 2010

unsigned char, как правило, является лучшим выбором для bool, чем int, особенно если вы собираетесь иметь массив из 1000 из них.Хотя реализация зависит от размера неподписанного символа и от того, как будет упакован массив.

0 голосов
/ 13 августа 2010

В C99 есть тип bool. Но мне интересно, почему вы не можете написать свой код на C ++. Вам не нужно использовать все расширенные функции ООП C ++. Вы можете написать код в стиле C и скомпилировать его с помощью компилятора C ++.

...