Forum: Compiler & IDEs char verketten


von Christian O. (goustrup)


Lesenswert?

Hi

kann man eigentlich in C verketten?

char *mess1, *mess2;


mess1 = "Hallo ";
mess2 = mess1 + "Welt";

so das in mess2 "Hallo Welt" steht.

von Murkser (Gast)


Lesenswert?

man strcat

von Christian O. (goustrup)


Lesenswert?

Danke für die fixe Antwort

von Rolf Magnus (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.