66问答网
所有问题
为什么将链表的头指针定义为全局变量
如题所述
举报该问题
推荐答案 2019-07-18
一般来讲,链表的每一个结点的类型是相同的,所以无法通过类型来判断哪一个结点是头结点。但是,编程者都会把头结点的地点保存到某个全局变量中,所以一般不存在不知道头结点的内容的问题。当然,如果你需要判断任意结点是不是头结点,可直接用其地址与头结点地址相比较即可。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/2sDssixDD99xxDxnDs.html
其他回答
第1个回答 2019-11-21
这个代码的流程
,是在
主函数
中定义一个头节点link
然后通过函数initlist来给头节点赋值。
既然要给link赋值,就需要参数是link的指针类型,否则无法传回主函数。
于是需要定义成
static
int
initlist(pt_node
*l)
同时在函数中给*l赋值。
调用的时候
用initlist(&link);本回答被提问者采纳
相似回答
关于
链表的
初级的问题
答:
1.这段代码的作者在这里犯了个错误,cout << creat() 将会输出链表
头指针
的地址,但是并没有保存这个地址,之后就再也访问不了这个指针了。。。而且这个
链表的
内存已经泄漏,无法释放 2.如果改为*(creat())也不行,因为*(creat())
是链表头
struct student,无法直接输出,必须重载<<操作符 另,这...
c语言
链表
无法删除头节点 *head
是全局变量
删除头结点后输出显示乱码...
答:
//根据输入的商品编号来删除节点 if(p3->num==n) //如果删除的是头结点 { head->next=p3->next; //错误点:head是函数的参数,等同于局部
变量
,更改head的值,不会反应到
全局
head中 free(p3); //C语言是安值传递的!!! printf("删除成功!"); //既然head...
C语言的函数与
全局变量
动态
链表的
问题
答:
这个可能是你在第一次执行操作的时候移动了指针,而用完后没有指向开始的位置
。只是可能,没有代码这个是说不清的。一行都没有执行说时不满足执行的条件。“链表的地址就莫名其妙的变化了。一起变化的还有链表里的所有数据!”这个很可以就是你第一次用了指针没有指回该指的地方。PS:只是猜想。
链表
可以做外部
变量
吗
答:
严格意义上说这个提法不对,
链表是一种数据结构,或者说是一种存取数据的方法接口,它本身是一个抽象,并不是实际的变量
。定义一个链表变量,这个变量是可以作为外部变量的,因为链表本身就是一个结构体。
C语言 头插法的
链表
该如何建立 算法
是什么
? 麻烦各位兄弟讲一下 小弟实...
答:
首先
定义全局变量
结构体(
链表
结点的结构体类型,也可以简单的理解所谓结点就是指这个结构体)案例:输入学生名字和编号 include "stdio.h"struct person { char *name;int numbers;struct person *next;};//
指针
*next起连接作用,是结点和下一个结点的桥梁,必不可少!在定义 主程序 main(){ ...
编写实现
链表
排序的一种算法。说明
为什么
你会选择用这样的方法?求高手...
答:
int flag=0; //
定义
一上标志,声明
为全局变量
。作为判断是否存在相同数 struct linklist *q ,*h; //q作为移动指针,h作为返回
的头指针
int in(int x,struct linklist *l){ struct linklist *p,*t;p=l;while(p!=NULL&&p->x!=x){ p=p->next;} if (p==NULL){ return 0;} els...
大家正在搜
局部变量的指针都给全局变量指针
局部指针赋值全局变量
局部变量赋值给全局变量
static变量和全局变量的区别
c语言全局变量怎么定义
全局变量指针
C语言指针可以做全局变量吗
如何定义全局变量
在单链表指针为p的节点
相关问题
为什么链表中头指针和尾指针要定义为全局变量
C 的一个问题 链表的,没把头结点定义成全局变量 出问题了,...
C语言的函数与全局变量动态链表的问题
c语言链表无法删除头节点 *head是全局变量 删除头结点后...
c++ 全局变量的问题
为什么将链表的头指针定义为全局变量