dynamisches array in einfach verketteter liste
-
ich habe eine verkettete list und mochte nun in den einzelnen elementen ein dynamisches array einbauen.
hier die Strukt:
struct stack { struct stack *next; char *string; }; struct stack *next=NULL; struct stack *anfang=NULL;
Ich habe nun dass problem das mir die malloc funktion beim allokieren des stacks immer null zurueckgibt - aber warum, speicher ist genug vorhanden:
char inputline[BUFSIZ+1]; struct stack *zeiger; printf("\noutput>Bitte String eingeben:\n\ninput>"); while(getchar()!='\n') { } fgets (inputline,BUFSIZ,stdin); if (anfang==NULL) { if((anfang = (struct stack *)malloc(sizeof(struct stack)))==NULL) { printf("\noutput>Kein Speicherplatz vorhanden.\n"); exit(0); } #ifdef DEBUG printf("%p : %s %p\n",anfang,anfang->string,anfang->next); #endif [b]if((anfang->string = (char*)malloc(255))==NULL);[/b] { #ifdef DEBUG printf("%p : %s %p\n",anfang,anfang->string,anfang->next); #endif printf("\noutput>Kein Speicherplatz fuer String vorhanden.\n");
-
if((anfang->string = (char*)malloc(255))==NULL); <-- lass das ';' weg
Kurt