Possible Duplicates:
Objective-C : BOOL vs bool
Is there any difference between BOOL and Boolean in Objective-C?
I noticed from the autocomplete in XCode that there is a bool and a BOOL in Objective-C. Are these different? Why are there two different kinds of bool?
Are they interchangeable?
Yes they are different.
bool
, and it is a true Boolean type. It is guaranteed to be 0 or 1 within integer context._Bool
as a true Boolean type, and if <stdbool.h>
is included, then bool
becomes a preprocessor macro for _Bool
(this header also defines true
and false
as preprocessor macros for 1
and 0
respectively).BOOL
as a type, but it is just a typedef for signed char
. It can represent more values than just 0 or 1.Boolean
as a type, but it is just a typedef for unsigned char
. Like, Cocoa's BOOL
it can represent more values than just 0 or 1.For Cocoa and Carbon's “Boolean” types, they should be thought of as zero meaning false, and any non-zero value meaning true.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With