Speicher mit malloc wird nicht bleiben außerhalb Funktionsumfang?

Hallo,

Ich bin ein bisschen neu in C-s malloc-Funktion, sondern von dem, was ich weiß, sollte es speichern den Wert in den heap, so dass Sie verweisen können es mit einem Zeiger aus, die außerhalb des ursprünglichen Umfang. Erstellt habe ich ein test-Programm, das ist, dies zu tun, aber ich erhalte immer den Wert 0, nach dem ausführen des Programms. Was mache ich falsch?

int f1(int * b) {
 b = malloc(sizeof(int));
 *b = 5;
}

int main() {
 int * a;
 f1(a);
 printf("%d\n", a);
 return 0;
}

InformationsquelleAutor der Frage PM. | 2010-03-25

Schreibe einen Kommentar