简体   繁体   中英

Accessing structure elements via double pointers in C

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 *. (eg ptr->data is the same as *ptr.data ).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM