Zitat Zitat von _R2D2 Beitrag anzeigen
char s3[5] = {'H','a','l','l','o'}; ist doch bis auf die Schreibweise genau das gleiche, wie

char s2[5] = "Hallo";
Nein.
Bei meiner Variante wird keine \0 angehängt, bei der anderen schon.

{'H','a','l','l','o'} sind für den Compiler einfach nur 5 einzelne Zeichen, "Hallo" hingegen ist ein nullterminierter String.