Usar valores booleanos en C
- Valores booleanos en C
-
Use el tipo
bool
para valores booleanos en C -
Use
enum
para valores booleanos en C -
Use
typedef
y#define
para valores booleanos en C
El tutorial de hoy demuestra cómo emplear bool
, enum
, typedef
y #define
para usar valores booleanos en el lenguaje de programación C.
Valores booleanos en C
El bool
(un tipo de datos booleano) está disponible de forma nativa en C99 y posteriores; debemos incluir la biblioteca stdbool.h
para usar este tipo de datos. En C99, el tipo de datos nativo se conoce como _Bool
.
Por otro lado, el bool
es una macro de biblioteca estándar definida en el stdbool.h
. Los objetos del tipo de datos _Bool
contienen 1 o 0, mientras que true
y false
son las macros de la biblioteca stdbool.h
.
Esto implica que un preprocesador C interpretará #if true
como #if 1
a menos que stdbool.h
esté incluido en el programa C. Mientras tanto, el preprocesador de C++ debe reconocer true
de forma nativa como un lenguaje literal.
Use el tipo bool
para valores booleanos en C
Código de ejemplo:
// library to use `bool`
#include <stdbool.h>
// library to use `printf()`
#include <stdio.h>
// main function
int main() {
bool variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Producción :
The value of 'variableX' is True
Si tenemos C99 o más reciente, podemos usar el bool
, un alias al _Bool
. Debemos incluir una biblioteca (también direccionada como un archivo de encabezado) llamada stdbool.h
para usar bool
; de lo contrario, obtendremos un error.
Vea el programa anterior como un ejemplo práctico del uso del tipo bool
.
Use enum
para valores booleanos en C
Código de ejemplo:
// library to use `printf()`
#include <stdio.h>
// enum's declaration
typedef enum { false, true } boolean;
// main function
int main() {
boolean variableX = false;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Producción :
The value of 'variableX' is False
El fragmento de código dado anteriormente es una solución para aquellos que usan C89/90 o que no quieren usar el tipo bool
nativo. Podemos usar la función enum
para crear el tipo bool
.
El enum
(también llamado Enumeración) es un tipo de datos definido por el usuario en la programación C que se utiliza para asignar nombres a constantes integrales; ¿por qué? Los nombres hacen que el programa sea fácil de leer, comprender y mantener.
Usamos los valores booleanos creando un nuevo nombre para el tipo bool
. Para eso, estamos usando la palabra clave typedef
, que se usa para dar un nuevo nombre a un tipo (ver el código de ejemplo para esta sección donde estamos dando un nuevo nombre al tipo bool
que es boolean
).
Una vez que ejecutemos el código anterior, se creará un enum
como el tipo bool
. Además, ponga los elementos de enum
como false
y true
.
La primera y segunda posición estarán ocupadas por false
para mantener el 0 y true
para mantener el 1.
Use typedef
y #define
para valores booleanos en C
Podemos usar los valores booleanos de las siguientes dos formas como alternativa al segundo enfoque en el que usamos enum
para valores booleanos.
Código de ejemplo 1:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// declare enum
enum { false, true };
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Código de ejemplo 2:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// define macros
#define true 1;
#define false 0;
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Ambos ejemplos de código producen el mismo resultado que se indica a continuación.
Producción :
The value of 'variableX' is True
En el código de ejemplo 2, estamos usando #define
(también llamada directiva de macro), que es una directiva de preprocesador utilizada para definir macros en un programa C.