001
08.10.2003, 16:12 Uhr
Pablo
Supertux (Operator)
|
Wenn du char* ptr und so intilisiert hast (char* ptr = "Hieristirgendetwas"; ) dann bekommst du einen Laufzeitfehler bei
Wenn Aber char ptr[] = "Hieristirgendetwas"; initialisiert ist, kannst du es tun, weil man auf die Felder des Arrays zugreifen kann. Das geht auch, wenn du mit malloc gearbeitet hast.
*ptr=1 heißt: Weise den Wert 1 dem Element, auf das ptr zeigt. Zum Beispiel:
| C++: |
char ptr[] = "Hallo"; *ptr = 49; printf("%s", ptr);
|
Ausgabe: 1allo
*ptr='1' ist dasselbe, aber wird den Wert '1' == 49 zugewisen, also
| C++: |
char ptr[] = "Hallo"; *ptr = '1'; printf("%s", ptr);
|
gibt dasselbe aus: 1allo.
ptr=1 heißt, dass die neue Adresse, auf die ptr zeigen soll, 1 ist. ptr='1' heißt, dass die neue Adresse, auf die ptr zeigen soll, '1'==49 sein soll. Ich hab das nicht getestet, aber ich vermute eine Segmentation Fault Meldung beim Ausführen. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 08.10.2003 um 16:13 Uhr von Pablo Yanez Trujillo editiert. |