tobi_
Goto Top

Frage zu Pointer Array in C

Hallo,
ich möchte ein dynamisches Pointer Array erstellen das der Benutzer durch eingaben füllen kann.
Mein Versuch endete aber immer mit dem Absturz des Programms, mein Compiler(Dev-C++ ) gibt dabei keine Fehlermeldung aus. Ich weiß durch herumprobieren inzwischen das es am strcpy hängt, aber ich finde keine Lösung wie man die Eingabe im Puffer ins Pointer Array(in Zeile i) kopiert!

MfG Tobi

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <ctype.h>
#define ZEILEN 128
#define SPALTEN 50


main()
{
char *PtrArray[ZEILEN];
char *puffer;
int i;
for (i=0;i<=50;i++)
{
gets(puffer);
strcpy(PtrArray[i], puffer);
}


return 0;
system("PAUSE");
}

Content-Key: 34634

Url: https://administrator.de/contentid/34634

Printed on: April 18, 2024 at 16:04 o'clock

Member: DerKleineBruder
DerKleineBruder Jun 21, 2006 at 19:34:02 (UTC)
Goto Top
Hi Tobi,

mit der Zeile "char *PtrArray" legst du nur ein Array von 128 Pointern an,
die aber jeweils noch nicht initialisiert sind.

Du könntest nach dem gets() mit
PtrArray[i] = malloc(strlen(puffer)+1);
den Speicher für den eingegebenen String allocieren,
damit das strcpy nicht ins Nirvana geht.

Aber hinterher das Aufräumen nicht vergessen (wie früher das Kinderzimmer face-wink
Member: Tobi_
Tobi_ Jun 22, 2006 at 18:06:44 (UTC)
Goto Top
Hallo,
Danke für deine Hilfe! Das man hier noch Speicher allocieren muss ist mir bisher noch nicht klar geworden...
Naja jetzt gehts auf jeden fall!

MfG Tobi