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?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top