By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,197 Members | 1,207 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,197 IT Pros & Developers. It's quick & easy.

sizeof(char)

P: n/a
I have a C book that says the sizeof a char is one byte. Is this true for
C++?
Jul 22 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
"nsgi_2004" <no****@nospam.com> wrote in message
news:X1xvc.42929$mm1.41139@fed1read06...
I have a C book that says the sizeof a char is one byte. Is this true for
C++?


Yes.
Jul 22 '05 #2

P: n/a
"nsgi_2004" <no****@nospam.com> wrote...
I have a C book that says the sizeof a char is one byte. Is this true for
C++?


sizeof(char) is always 1, yes. 'char' and 'byte' are synonyms in
both C and C++ when sizes are concerned.

V
Jul 22 '05 #3

P: n/a
On Wed, 2 Jun 2004 20:37:24 -0700 in comp.lang.c++, "nsgi_2004"
<no****@nospam.com> wrote,
I have a C book that says the sizeof a char is one byte. Is this true for
C++?


Yes. Note that a byte or char must be AT LEAST 8 bits in size,
but can be any number larger.

Jul 22 '05 #4

P: n/a
"nsgi_2004" <no****@nospam.com> wrote in message news:<X1xvc.42929$mm1.41139@fed1read06>...
I have a C book that says the sizeof a char is one byte. Is this true for
C++?


Yes, because C++ redefines byte to mean the size of a char. It's not
always the 8-bit thingy you might expect. This is shared between C
and C++, It's relevant e.g. for some DSP chips inside cellphones
that have 32 bits per byte. Now, those are programmed in C not C++,
but C++ felt no need to differ from C here. If anyone writes a
C++ compiler for such things, they can still use the same 32-bit
char.

Regards,
Michiel Salters
Jul 22 '05 #5

P: n/a
Michiel Salters wrote:
"nsgi_2004" <no****@nospam.com> wrote in message news:<X1xvc.42929$mm1.41139@fed1read06>...
I have a C book that says the sizeof a char is one byte. Is this true for
C++?

Yes, because C++ redefines byte to mean the size of a char. It's not
always the 8-bit thingy you might expect. This is shared between C
and C++, It's relevant e.g. for some DSP chips inside cellphones
that have 32 bits per byte. Now, those are programmed in C not C++,
but C++ felt no need to differ from C here. If anyone writes a
C++ compiler for such things, they can still use the same 32-bit
char.

Regards,
Michiel Salters


Yep. If you want to specify an 8-bit quantity, you might want to follow
the lead of the internet RFC guys and call it an "octet". sizeof(char)
is 1. Period. Regardless of the actual number of bits in it. Just for
reference, IIRC from my original K&R, one of the early C implementations
was on a machine with 9-bit "bytes".
Jul 22 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.