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:

See the gist on github.

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

Por otro lado, podemos tener funciones que regresen booleanos:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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í:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

 

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Compartir
Publicado por
parzibyte

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

20 horas hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

20 horas hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

23 horas hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 día hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

5 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

6 días hace

Esta web usa cookies.