Я просто писал код на C, и, оказывается, он не имеет типа boolean/bool. Есть ли какая-либо библиотека C, которую я могу включить, чтобы дать мне возможность возвращать тип данных boolean/bool?
Как использовать логический тип данных в C?
Ответ 1
Если у вас есть компилятор, поддерживающий C99, вы можете
#include <stdbool.h>
В противном случае вы можете определить свой собственный, если хотите. В зависимости от того, как вы хотите его использовать (и хотите ли вы скомпилировать свой код как С++), ваша реализация может быть такой же простой, как:
#define bool int
#define true 1
#define false 0
По-моему, вы можете просто использовать int
и использовать ноль для обозначения значения false и ненулевого значения для обозначения true. Как обычно это делается в C.
Ответ 2
C99 имеет логический тип данных, на самом деле, но если вы должны использовать более старые версии, просто определите тип:
typedef enum {false=0, true=1} bool;
Ответ 3
C99 имеет тип bool
. Чтобы использовать его,
#include <stdbool.h>
Ответ 4
Как альтернатива Джеймсу Макнеллису, я всегда стараюсь использовать перечисление для типа bool вместо макросов: typedef enum bool {false=0; true=1;} bool;
. Это более безопасный b/c, который позволяет компилятору выполнять проверку типов и исключает гонки расширения макроса.
Ответ 5
struct Bool {
int true;
int false;
}
int main() {
/* bool is a variable of data type – bool*/
struct Bool bool;
/*below I’m accessing struct members through variable –bool*/
bool = {1,0};
print("Student Name is: %s", bool.true);
return 0;
}