i've created array of nodes linked list when attempt traverse print linked list crash. traversal works treat when not create array of nodes figure snippit of code problem.
typedef struct node { book data; struct node *next; } *node; node newnodes[100]; int = 0; (i=0; i<n; i++) { newnodes[i] = (node)malloc(sizeof(struct node)); newnodes[i]->next = null; newnodes[i]->data.time = null; newnodes[i]->data.format = null; } //return struct holds array;
clearly i've done wrong, insert_node simple insert @ front algorithm way. can see i've gone wrong?
can see i've gone wrong?
the posted code shows have created 100 pointers , assigned memory them value returned malloc
. however, haven't linked them form linked list.
perhaps meant use:
for (i=0; i<n; i++) { newnodes[i] = (node)malloc(sizeof(struct node)); newnodes[i]->next = null; newnodes[i]->data.time = null; newnodes[i]->data.format = null; } // make links between nodes. (i=0; i<n-1; i++) { newnodes[i]->next = newnodes[i+1]; }
that make newnodes[0]
head of linked list.
ps
using typedef
called node
pointer confusing, @ least me. recommend using:
typedef struct node { book data; struct node *next; } node; typedef node* nodeptr;