9.17. stdbool.h: Mantıksal Tip Ve Değerler
Bu dosya _Bool tipi için daha
kullanışlı bir eşanlamlı makro ve değerler tanımlar:
#define bool _Bool #define true 1 #define false 0 #define __bool_true_false_are_defined 1
C Standardına nispeten yeni bir ekleme olan _Bool
tipi, mantıksal doğru (1 değeri ile gösterilir) ve
yanlış (0 değeri ile gösterilir) değerlerini tutabilen
bir bitlik genişliğe sahip değişkenler tanımlamak için kullanılır.
Herhangi başka bir tipteki değeri _Bool tipine
dönüştürdüğümüzde, o değer sıfıra (göstergeler için NULL,
tamsayılar için 0 ve kayan noktalı sayılar için 0.0)
eşitse yanlış (0), değilse doğru
(1) değeri kullanılır. Bir _Bool nesnesi
bir bitlik bir tamsayıdır; saklayabileceği
değer ya 0 ya da 1’dir;
başka bir değer alamaz.
Aşağıdaki program Dogru Yanlis çıktısını
verecektir:
#include <stdio.h>
#include <stdbool.h>
int main (void)
{
char *c[] = { "Yanlis", "Dogru" };
bool b = true;
printf ("%s %s\n", c[b], c[false]);
}