Booleanos en C

Tipo de dato bool en C

En el inicio de los tiempos, el lenguaje de programación C no tenía el tipo de dato booleano. De hecho, ni siquiera hoy en día lo tiene como tal, es un simple macro.

Sin embargo, como programadores nos hemos dado a la tarea de implementarlos o de emular su uso. Veamos hoy cómo podemos implementar booleanos en C de dos maneras, analizando ventajas y desventajas de cada uso, así como exponiendo ejemplos.

Método 1: booleanos en C con stdbool.h

Un método que es un estándar y que fue introducido en el C99 es el de usar la librería stdbool.h. Esa librería o encabezado define los tipos true y false; que al final son enteros disfrazados representando el 1 y el 0 respectivamente.

Para declarar y usar una variable booleana en C hacemos esto:

Esta variable puede tener false o true. Y podemos evaluarla en un simple if.

Por otro lado, podemos tener funciones que regresen booleanos:

En ese caso regresamos false o true; y el tipo de dato de retorno es bool. Claro que la función puede acortarse de este modo:

Eso es porque la comparación regresará un booleano, entonces mejor regresamos directamente lo que regrese la comparación y nos ahorramos un if.

Mostrando otro ejemplo de booleanos en C también podemos recibir un argumento de tipo booleano:

Ahí estamos recibiendo un booleano.

En conclusión podemos usar este tipo de dato como usamos los demás: int, char y esas cosas.

Método 2: tipo de dato bool en C con enteros

Este método se usaba normalmente y muchas personas lo siguen usando. Se trata de usar el tipo de dato entero como booleano, ya que un 0 pasa como false y un 1 (o cualquier otra cosa) como verdadero. Así:

No es necesario comparar con if(mayorDeEdad == 1), con poner if(mayorDeEdad) basta. Las funciones también pueden regresar estos enteros y podemos compararlos igualmente:

Todo es como cuando trabajábamos con booleanos, pero ahora usando enteros. La última función que vimos allá arriba (para recibir booleanos como parámetros de una función) es esta:

 

Conclusión y recomendación

Aunque sepamos que internamente el tipo de dato booleano es un entero; podemos usarlo para que las funciones sean más claras.

Yo recomiendo usar el tipo de dato bool, el cual viene en stdbool.h (es decir, el primer método que vimos).

De esta manera tu código será más entendible; porque otro programador leerá tus funciones y si ve que es un booleano sabrá que tu función evalúa algo y te dice si sí o no; en cambio si ve un entero no sabrá si cuenta el tamaño de algo, devuelve un número, una suma u otras cosas

Referencias

Wikibooks: https://en.wikibooks.org/wiki/C_Programming/stdbool.h

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Booleanos en C”

  1. Pingback: Número par o impar sin usar divisiones ni operador módulo en C - Parzibyte's blog

  2. Pingback: Implementación de una pila dinámica en C - Parzibyte's blog

Dejar un comentario