Strings or woodwinds?

Its primary purpose is to prevent the trouble programmers get into when neglecting the terminating null, overflowing buffers, things like that. It also makes it more like other data types that can be processed with various operators, whereas strings (lower-case 's') require function calls.

Pointers and terminating nulls are responsible for a great deal of software bugs. Avoid those, and you eliminate a lot of opportunity for error. (Although, you also miss out on some of the cool stuff that C lets you do.)