Accessing structure elements via double pointers in C

c, double-pointer, linked-list, pointers, singly-linked-list

Solution

You deference the first pointer and then the second one.

To access the data and next in the structure statement would like this

(*ptr)->data = 5;
(*ptr)->next = temp;

brackets around ptr is required since `->` has higher priority than `*`.

`->` is equivalent to writing `*.` (e.g. `ptr->data` is the same as `*ptr.data`).

Problem

I'm implementing linked lists using structures. I have a structure - ``` typedef struct llist node; typedef node *nodeptr; struct llist { int data; nodeptr next; }; ``` Now lets say I declare a variable `nodeptr *ptr;`. How do I access the members `data` and `next` using `ptr`?

Original source