使用访问指向结构的指针 - >运算

问题描述:

我有这样的代码:使用访问指向结构的指针 - >运算

#include<stdio.h> 
#include<stdlib.h> 

struct node 
{ 
    int data; 
    struct node *next; 
}; 

void pointerOfPointer(struct node **reference) 
{ 
    struct node *temporary = malloc(sizeof(struct node)); 

    temporary->data = 100; 
    temporary->next = 0; 

    printf("before: temporary->data %d\n", temporary->data); 
    temporary = *reference; 
    printf("after: temporary->data %d\n", temporary->data); 
} 

int main() 
{ 
    struct node *linkedlist = malloc(sizeof(struct node)); 
    linkedlist->data = 15; 
    linkedlist->next = 0; 
    pointerOfPointer(&linkedlist); 
    return 0; 
} 

如何访问指针在pointerOfPointer功能结构的指针而不复制*参考地址的临时局部变量?所以最后我可以直接使用operator - >来访问引用变量数据,比如reference-> data?

记住foo->bar仅仅是(*foo).bar语法糖。什么你问的是本质上(**reference).data,你可以,如果你想为(*reference)->data改写。