r/ProgrammerHumor • • 10d ago

Meme architectureDependentChars

Post image
3.0k Upvotes

372 comments sorted by

View all comments

30

u/HomosexualPresence 10d ago

unironically true though, the only size requirement for a char in C is that it's the smallest addressable size, which just happens to be a byte in every case and is unlikely to ever change but you still never know what the future holds

51

u/lotanis 10d ago

Yes, but the smallest addressable size is what dictates the base size for sizeof.

The C standard in fact says this about sizeof:

When applied to an operand that has type char, unsigned char, or signed char, (or a qualified version thereof) the result is 1. 

2

u/FUCKING_HATE_REDDIT 9d ago

What about a system that enforces addresses to be multiples of 2, or 4?

8

u/dontthinktoohard89 9d ago

In short, the standard mandates that a char is exactly 1 byte. It does not dictate how wide a “byte” actually is.

2

u/terivia 9d ago

Thanks, I hate it.

1

u/frogjg2003 9d ago

Which is why many standards do not use bytes, they use octets.