Hallo,
hätte eine kurze Frage zur Arbeitsweise des gcc, bzw auch anderen C
Compilern.
Folgendes kurzes Codesegment:
1 | char string[6];
|
2 | printf("%i", sizeof(string));
|
liefert natürlich Ausgabe 6.
Aber woher weis die Software die Länge des Strings (oder eines Arrays)?
Reiche ich den String an eine Funktion weiter
mit dem Prototyp
1 | void doSomething(char *);
|
und lass mir dort die sizeof ausgeben, kommt irgendwas raus.
Anhand des '/0' kann sizeof die Länge ja nicht ermitteln, da der
komplette String ja normalerweise zu NULL initialisiert wird.
Kann mich jemand aufklären?
Viele Grüße,
lex