Since a C string is not really a separate type, but just a array of chars (special because the last char should be '\0'), declarations and operations are defined and implemented terms of char arrays.