C (++) hängt bei strings generell \0 an. (heisst ASCIZ)
Denn alle standard string-functions von C verlangen NULL-terminierte strings
strcpy, strcmp, .....
Stammt, denk' ich, vom INTEL i386-Assembler, da gibt es diese "REPZ" Befehls-prefixe, d.h. der Maschinen code unterstützt das.

Ich glaub', bei Pascal werden dagegen für Strings "Counted strings" verwendet, da ist das erste Byte immer die Anzahl Zeichen dahinter. (ASCIC)

Beides hat Vor- und Nachteile.