Pointer und Dynamische Speicheranforderung-Segmentierungsfehler
-
#include <stdio.h> #include <stdlib.h> int main(){ char *p, z[100]; fgets(z, sizeof(z), stdin); p=malloc(strlen(z)+1); strcpy(p,z); printf("%s", *p); return 0; }
Hi,
das ist mein Code um mal zu Testen wie das mit den Pointern funktioniert.
Ich dachte mir das so:
über fgets wird eine Zeichenkette eingelesen, anschließend wird mittels malloc der benötigte Speicherbereich reserviert(+1 für \0) und der Pointer p drauf gerichtet. Laut den Vorlesungen zeigt nun p auf den Anfang des reservierten speichers.
mit strcpy will ich nun den string z nach p kopieren.
mit printf möchte ich nun den String ausgeben, ich geb den string ein und drück enter:
Segmentierungsfehler
wassn falsch?
lg
-
printf("%s", p);
-
Info_Student schrieb:
wassn falsch?
Dass du nicht die [cpp]-Tags, sondern die [code]-Tags verwendest, ist falsch.
Hast du das Ganze über den Debugger laufen lassen? Wo genau kommt die Fehlermeldung?