c语言指针问题,为什么p和a->next地址不同?
答案:1 悬赏:40 手机版
解决时间 2021-01-28 22:44
- 提问者网友:放下
- 2021-01-28 06:09
c语言指针问题,为什么p和a->next地址不同?
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-01-28 07:19
p是一个变量
a->next也是一个变量
这两个变量是分别定义或者申请的,它们的地址当然不是相同的,否则就是一个变量的两个表达了。追问那单链表如何建立呢?简单说一下思路也行追答链表是由一个一个的节点组成,每个节点有数据、有指向下一个节点的指针(next),建立链表就是先取得首节点指针(申请一个节点空间,然后用一个特殊的指向链表首节点的指针指向它),然后将该节点的指向下一个节点的指针赋值成空(NULL),这样就建立了一个只有一个节点的链表。
如果需要在链表末尾添加节点,那么从链表首指针开始作为当前节点,判断其指向节点的next指针是否为空,如果是空则找到了链表末尾,否则将当前节点指针赋值成这个next的值,再进行上述判断,直到找到链表末尾节点为止;找到链表尾部节点后,申请一个新的节点空间,给这个节点的数据区赋值,并且next赋值成空,然后把链表尾节点的next赋值指向这个新的尾节点即可。
链表操作主要是指针的操作。
a->next也是一个变量
这两个变量是分别定义或者申请的,它们的地址当然不是相同的,否则就是一个变量的两个表达了。追问那单链表如何建立呢?简单说一下思路也行追答链表是由一个一个的节点组成,每个节点有数据、有指向下一个节点的指针(next),建立链表就是先取得首节点指针(申请一个节点空间,然后用一个特殊的指向链表首节点的指针指向它),然后将该节点的指向下一个节点的指针赋值成空(NULL),这样就建立了一个只有一个节点的链表。
如果需要在链表末尾添加节点,那么从链表首指针开始作为当前节点,判断其指向节点的next指针是否为空,如果是空则找到了链表末尾,否则将当前节点指针赋值成这个next的值,再进行上述判断,直到找到链表末尾节点为止;找到链表尾部节点后,申请一个新的节点空间,给这个节点的数据区赋值,并且next赋值成空,然后把链表尾节点的next赋值指向这个新的尾节点即可。
链表操作主要是指针的操作。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯