Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

6
  • 5
    Doesn't matter; a char is the smallest type the implementation can handle. If a char is 16 bits, then a byte type cannot be less than 16 bits. Remember that sizeof(char) == 1. Always. Commented Jul 2, 2009 at 15:49
  • @David Thornley: sizeof(char) is not necessary 1, otherwise all sorts of marshalling libraries will get terribly upset. Commented Jul 2, 2009 at 18:05
  • 1
    @florin: sizeof(char) == 1 according to the standard. See section 5.3.3 of the ISO/IEC 14882:2003. "sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1; the result of sizeof applied to any other fundamental type (3.9.1) is implementation-defined." Commented Jul 2, 2009 at 19:53
  • 1
    Um, yes, sizeof(char) == 1. At least according to section 5.3.3 of the ISO C++ standard (open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2914.pdf), but let's not be boring, I like this response to the question more: parashift.com/c++-faq-lite/intrinsic-types.html#faq-26.1 Commented Jul 2, 2009 at 20:06
  • @Andreas: isn't that what I just said? Commented Jul 2, 2009 at 20:19