Strings are little more than pointers to a sequence of characters, which we require is terminated by the zero character '\0'. There is even less language support for strings as a type than there is for arrays. You have syntax for creating literal strings, but beyond that, a string is indistinguishable from any other pointer to char. That strings are zero-terminated is a protocol, an expectation of functions that work with strings, but it is not enforced by the language in any way or form.
With strings, you can define an immutable string using double quotes (immutable because it is undefined what will ...