Should the C language represent strings as an address + length tuple or just as the address with a magic character (NUL) marking the end?-mouser
If it had done anything else, the situation would probably be
worse today.
NUL-terminated strings aren't optimal, but they were the logical choice back then, and are better than some of the alternatives. The
BIG mistake is how a lot of the libc (and
especially the string functions!) were designed.