问题
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?
回答1:
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).
来源:https://stackoverflow.com/questions/21398105/accessing-structure-elements-via-double-pointers-in-c