/

Booleans in C: An Introduction

Booleans in C: An Introduction

Learn how to use booleans in C and discover the native support introduced in C99.

C, originally, did not have built-in boolean values. However, with the release of C99 in 1999/2000, a boolean type was introduced. Although it requires importing a header file, it is commonly referred to as a “native” boolean type. Let’s explore how to use it.

To begin, include the necessary header files:

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

Now, you can use the bool type as follows:

1
2
3
4
5
6
7
8
9
10
11
int main(void) {
bool isDone = true;
if (isDone) {
printf("done\n");
}

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

Note that if you are programming for Arduino, you can simply use the bool type without including stdbool.h because it is a valid and built-in C++ data type. The Arduino Language is based on C++.

However, in standard C, make sure to include #include <stdbool.h> to avoid errors when declaring and using bool variables. Otherwise, you may encounter error messages like the following:

1
2
3
4
5
6
7
8
9
10
11
➜ ~ 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.

By utilizing the boolean type in C, you can better express conditions and make your code more readable.

Tags: C boolean, C99, boolean type, header file, bool variable