Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中通过双指针访问结构元素_C_Pointers_Linked List_Singly Linked List_Double Pointer - Fatal编程技术网

在C语言中通过双指针访问结构元素

在C语言中通过双指针访问结构元素,c,pointers,linked-list,singly-linked-list,double-pointer,C,Pointers,Linked List,Singly Linked List,Double Pointer,我正在使用结构实现链表。我有一个结构- typedef struct llist node; typedef node *nodeptr; struct llist { int data; nodeptr next; }; 现在让我们假设我声明了一个变量nodeptr*ptr。如何使用ptr访问成员数据和next 要访问数据,structure语句中的下一个 (*ptr)->data = 5; (*ptr)->next = temp; 由于->的优先级高于*,因此

我正在使用结构实现链表。我有一个结构-

typedef struct llist node;
typedef node *nodeptr;
struct llist
{
    int data;
    nodeptr next;
};

现在让我们假设我声明了一个变量
nodeptr*ptr。如何使用
ptr
访问成员
数据
next

要访问数据,structure语句中的下一个

(*ptr)->data = 5;
(*ptr)->next = temp;
由于
->
的优先级高于
*
,因此需要在ptr周围加括号


->
相当于写入
*。
(例如
ptr->data
*ptr.data
相同)

假设我想给一个
ptr
分配一些内存,那么
(*ptr)=(nodeptr*)malloc(sizeof(nodeptr))
正确吗?你可以尝试一下,但是由于ptr指向随机地址,你可能会出现分段错误,所以应该先创建一个指向结构的指针,然后将其地址分配给ptr。