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.

Relacionado:  Diferencia entre char y varchar en mysql

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


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Relacionado:  Funciones con chequeo de tipos en PHP 7

Únete a otros 574 suscriptores


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/

2 Comments

Número par o impar sin usar divisiones ni operador módulo en C - Parzibyte's blog · noviembre 20, 2018 a las 10:31 am

[…] bits del número. Esa comparación devolverá un 1 o 0; y dependiendo de ello (mira esto sobre los booleanos en C) imprimirá el […]

Implementación de una pila dinámica en C - Parzibyte's blog · noviembre 12, 2018 a las 8:57 pm

[…] Booleanos en C […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: