所以我正在尝试使用该地址访问链表的第一个节点,这似乎对我没什么意义。存储链表的结构定义为
\n
我已使用
初始化了一个链接列表/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
每次我打电话给l3->接下来,我先跟
struct ListNode* l3;
我已将链表的第一个节点的地址存储为:
l3->next = (void *) malloc(size * sizeof(struct ListNode));
我确实从0x1235270打印出有效地址。我正在尝试使用
访问第一个节点的valint* first;
first = (int *) l3; //noting that (void *) is also a valid cast
它给了我:
printf("%d\n", first->val);
错误。然而,当我首先返回leetcode时(因为我试图在那里做一个问题),它确实将其检测为链表(在输出中显示链接列表)。我想知道我做错了什么,以及我如何实际访问第一个节点的值。
答案 0 :(得分:-1)
对不起,这是一个非常愚蠢的错误。一旦我将指针从int *转换为struct node *,它就可以了。