所以我正在尝试使用该地址访问链接列表的第一个节点,这对我来说似乎没有多大意义。存储链接列表的结构定义为
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
我已经初始化了一个链接列表
struct ListNode* l3;
每次我调用 l3->next 时,我都会在它前面加上
l3->next = (void *) malloc(size * sizeof(struct ListNode));
我已经存储了链表第一个节点的地址:
int* first;
first = (int *) l3; //noting that (void *) is also a valid cast
我确实得到了一个有效的地址打印出来0x1235270。我正在尝试使用
printf("%dn", first->val);
它给了我:
Line 29: request for member 'val' in something not a structure or union
错误。然而,当我首先在 leetcode 中返回时(因为我试图在那里做一个问题),它确实将其检测为链接列表(在输出中显示链接列表)。我想知道我做错了什么,以及我如何实际访问第一个节点的值。
对不起,这是一个非常愚蠢的错误。一旦我将指针从 int * 转换为结构节点 *,它就起作用了。