数据结构单链表尾插法疑问?
单链表的初始化函数如下: linkList p,r,L;L = malloc(sizeof(linkList)); L->next = NULL; r = L;
for (int i = 1; i <= List_count; i++) { printf("请输入第%d个元素的数据\n",i); p = malloc(sizeof(linkList)); scanf("%d",&(p->data)); r->next = p; r = p; }
r->next = L;
对于r = L;这句很不理解,L作为头指针他应该要指向某地址的,而不应该是r去指向L;我觉得应该是L指向r的; 求解?
谁指向谁没有什么关系,这样写的目的是为了使3个变量中的一个可以保存下头节点,用哪个都无所谓,你return的是谁?
另外,提醒你一下"malloc(sizeof(linkList));"可能不是你想要的结果,看你的代码linkList应该本来就是指针类型的,乍一看似乎没有什么问题,但是实际上只是重新分配了一个指针而已,并没有分配到实际的空间 来看看呵呵 无回帖,不论坛,这才是人道。 淡定,淡定,淡定…… 无回帖,不论坛,这才是人道。
页:
[1]