char verketten

Gast #2938692
Lesenswert?

Christian O. schrieb:
> kann man eigentlich in C verketten?
>
> char *mess1, *mess2;
>
>
> mess1 = "Hallo ";
> mess2 = mess1 + "Welt";
>
> so das in mess2 "Hallo Welt" steht.

mess1 und mess2 sind Zeiger und werden behandelt wie jeder andere Zeiger 
auch und enthalten lediglich Adressen. Daß das die Adressen von Strings 
sind, spielt dabei keine Rolle. Die Addition zweier Adressen ergibt aber 
nicht viel Sinn, daher wird der Compiler das mit einer Fehlermeldung 
quittieren.
Man muß sich bei C merken, daß char* nicht der String-Typ ist, bzw. daß 
es in C gar keinen eigenen Datentyp für Strings gibt. Ein String ist 
lediglich ein Array aus char, und es gelten alle Regeln, die auch bei 
anderen Array- und Zeigertypen gelten. Daher sind alle 
String-Operationen als Library-Funktionen definiert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren