einen schönen guten abend,
ich habe eine funktion, die einen knoten in einer Liste hinzufügt
1 | static void appendNode(node** liste, uint8_t data_u16)
|
2 | {
|
3 | node* newNode = NULL;
|
4 | node* temp = NULL;
|
5 | uint8_t counter_u8 = 0;
|
6 |
|
7 | while(*liste != NULL)
|
8 | {
|
9 | counter_u8++;
|
10 | liste = &(*liste)->next;
|
11 | }
|
12 | newNode = malloc(sizeof(*newNode));
|
13 | if(NULL != newNode)
|
14 | {
|
15 | newNode->number_u16 = counter_u8;
|
16 | newNode->data_u16 = data_u16;
|
17 | newNode->next = NULL;
|
18 | }
|
19 |
|
20 | *liste = newNode;
|
21 | }
|
die Struktur node soll jetzt ein zusätzliches Element bekommen. Neben
dem next (welches auf den nächsten Knoten zeigt), möchte ich ein prev
hinzufügen, welches auf den vorigen knoten zeigt.
Aber ist das ohne größeren Umbau dieser funktion überhaupt möglich?
Beim debuggen sehe ich am Anfnagn die Elemente vom ersten Knoten. Nach
der while-schleife ist das element schon der neue Knoten. Das heißt an
den vorigen knoten komme ich gar nicht mehr ran?