Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But you can't use those string literals in any way without relying on convention.


That was my point. Although you can, actually - since literals themselves are array-typed, you can sizeof them to get the character count without relying on null termination. It's even possible to get a non-null-terminated literal if the target array type is not large enough to fit null, e.g.:

   char s[3] = "foo"; // not null-terminated!


> character count

Byte count.


If you want to be pedantic, "an object declared as type char is large enough to store any member of the basic execution character set". It doesn't actually have to be a byte.

In practice, in C context, character == char == byte. Other concepts have to use different names to avoid confusion with the language spec.


In C a 'char' is a 'byte', if we're going to be extra pedantic.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: