реклама на сайте
подробности

 
 
> Переменная типа bool, Как правильно создать
Wiener
сообщение Sep 1 2008, 12:47
Сообщение #1


Участник
*

Группа: Почетный участник
Сообщений: 42
Регистрация: 30-01-06
Из: Москва
Пользователь №: 13 758



Всем доброго времени суток.
Пишу на C под CW6.1 и столкнулся с отсутствием типа bool как таковой.
Вернее тип есть, если подключить библиотеку, но при этом по факту переменная получается int и соответственно занимает 2 байта (1 байт если беззнаковый).
Как правильно создать тип bool, для работы именно на уровне битов, а то занимать кучу памяти для регистров состояния накладно.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Sep 1 2008, 13:13
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В Standard C (ANSI C) типа bool вообще нету. Его ввели только в C99. По стандарту C99 макрос bool разворачивается в константу типа _Bool, которая имеет размерность integer и принимает значения true = 1 или false = 0. Определение типа bool находится в хедере stdbool.h.
Цитата
ISO/IEC 9899:1999 (E) ©ISO/IEC
7.16 Boolean type and values <stdbool.h>
1. The header <stdbool.h> defines four macros.
2. The macro
bool
expands to _Bool.
3. The remaining three macros are suitable for use in #if preprocessing directives. They
are
true
which expands to the integer constant 1,
false
which expands to the integer constant 0, and
_ _bool_true_false_are_defined
which expands to the integer constant 1.
Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then
redefine the macros bool, true, and false.
213)


Угу. Какая-то беда с цитированием приключилась. sad.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 21:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016