Knihovna stdbool.h

Standardy jazyka C

V době své největší slávy existoval standard jazyka C s označením c89. Tento standard neznal booleovské hodnoty a typy. Proto spousta funkcí, které vracejí informaci pravda/neprava, mají definovanou návratovou hodnotu jako typ int, viz Boolovské datové typy. Tím se nenechte zmást a při psaní vlastních funkcí raději používejte bool.

Novější standard c99 zavedl knihovnu <stdbool.h>. Standard c99 toho zavedl nového více. Ne všechno z tohoto standardu už bylo překladači implementováno, ale podpora tohoto standardu je všeobecně na slušné úrovni.

Nejnovější standard jazyka C se nazývá C11. Novinky z tohoto standardu (z roku 2011!) nejsou ještě překladači moc podporovány (já se třeba těším na to, až bude většinou překladačů podporována knihovna <threads.h>, která umožňuje psát více vláknové aplikace).

Booleovské typy a hodnoty

Knihovna <stdbool.h> definuje nový datový typ _Bool. K němu definuje “alias“ v podobě makra bool. Doporučuji vám používat spíše toto makro, vypadá přeci jen lépe :).

Datový typ bool může nabývat dvou hodnot definovaných v <stdbool.h>: true (pravda) a false (nepravda).

Většinou bude _Bool implementován jako int, nebo se bude přinejmenším automaticky přetypovat int na bool, takže pořád můžete do proměnné typu bool přiřazovat 1 nebo 0.

Hlavním důvodem zavedení booleovského typu je zvýšení čitelnosti zdrojového kódu.

Příklad jste mohli vidět například v kapitole funkcích s proměnlivým početem argumentů, nebo v příkladu dynamic3.c v kapitole o dynamické alokaci paměti.

Komentář Hlášení chyby
Created: 24.6.2014
Last updated: 24.6.2014
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Prohlížením tohoto webu souhlasíte s používáním cookies. Dozvědět se více..