Die Elemente eines Arrays können von beliebigem Typ sein, und ein String ist ein besonderer Array-Typ, der eine bekannte Regel zur Bestimmung seiner Länge verwendet.
Es gibt zwei Arten von Sprachen: solche, die Zeichenfolgen einfach als ein Array von Zeichen behandeln, und solche, die Zeichenfolgen als einen speziellen Typ behandeln. C gehört zur ersteren Kategorie, es gibt jedoch einen Zusatz, d. h. die C-Zeichenfolge wird mit einem NUL-Zeichen abgeschlossen. Der Wert eines Arrays ist derselbe wie die Adresse des ersten Elements im Array (oder ein Zeiger auf dieses Element), daher sind im Allgemeinen ein C-String und ein Zeichenzeiger gleichwertig.
Die Länge eines Arrays kann beliebig sein. Wenn ein Array-Name als Argument für eine Funktion verwendet wird, kann die Funktion die Größe des Arrays nicht anhand des Array-Namens selbst ermitteln, daher muss eine Art Regel eingeführt werden. Für Zeichenfolgen gilt die Regel, dass das letzte Zeichen der Zeichenfolge das ASCII-Zeichen NUL(' ist.Hinweis: Manche Leute nennen dieses Phänomen „C-Humor“. Gerade wegen dieses Humors machen sich die meisten C-Programmierer Sorgen über die Programme, die sie den ganzen Tag schreiben, und machen selten eine Pause von ihrem vollen Terminkalender.