Lesson 16 / 36
Strings
C has no string type — text is a char array ending in a null byte.
Null-terminated
A C string is a char array followed by a hidden '\0' (null character) marking its end. "Hi" actually stores 3 bytes: 'H', 'i', '\0'.
Two ways to declare
A string literal or an explicit char array — both are mutable arrays here.
char name[20] = "Alice"; // array, room to grow
char city[] = "Delhi"; // sized to fit exactly
printf("%s lives in %s\n", name, city);
Output:
Alice lives in Delhi
%s expects null-termination
printf("%s", str) keeps printing bytes until it finds '\0'. A char array missing the null byte causes %s to read past its bounds.