I beg to differ. You imply that C-style strings
aren't built into the language of C
, yet they absolutely
are. Ever write a string literal
in a C program?
That is: char * mystring = "This is a string literal.";
That string literal gets compiled into your binary as a series of 25 bytes, the last of which most definitely contains the null terminator byte.
The reason we can say that C-style strings are inherently built into the C language is the presence of the NUL character that implicitly follows a string literal. That is a C convention (other languages do it too, you are right) but we do say the notion of a C-style string is inherent in the language. Also, if you read the K & R C book, they definitely acknowledge that C-style strings are an inherent 'feature' of the C language.