Question

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?

Was it helpful?

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).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top