Standart C Programlama Dili


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]);
}