Булевий тип у чистому C
Лютий 25th, 2009
В принципі, це й так всі нормальні люди знають, але хай буде у якості нотаток на випадок раптового удару граблями приступу склерозу
Так от, відомо, що у C булівський тип відсутній. Можна використовувати такого шось типу
-
#ifndef __cplusplus
-
-
#ifndef bool
-
typedef char bool;
-
#endif
-
-
#ifndef true
-
#define true ((bool) 1)
-
#endif
-
-
#ifndef false
-
#define false ((bool) 0)
-
#endif
-
-
#endif /* not C++ */
Але всі велосипеди було вже давно винайдено й стандартизовано. Слово українській вікіпедії:
stdbool.h — заголовний файл стандартної бібліотеки мови програмування С, котрий містить чотири макроси для роботи з типом даних bool. Даний заголовний файл з’явився у стандартні C99.
Визначення макросів згідно стандарту IEEE Std 1003.1-2001:
- bool котрий розширюється до _Bool
- true котрий розширюється до 1
- false котрий розширюється до 0
- __bool_true_false_are_defined котрий розширюється до 1
Категорії: C/C++ | Теґи:bool, c/c++, stdbool.h | Кометарів немає


