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


Anmelden zum Antworten