数据结构体定义的问题1 typedef struct CSNode{TElemType data;CSNode *fir
数据结构体定义的问题1 typedef struct CSNode{TElemType data;CSNode *firstchild,*nextsibling;}CSNode,*CSTree;最后的CSNode,*CSTree;分别是什么意思?2void insert(LinkList p;int x)void insert(LinkList &p;int x)void insert(LinkList *p;int x)这三种定义有什么区别?3LinkList s;LinkList *s;这两种定义什么区别?4s=(LinkList)malloc(sizeof(Node));s=(LinkList *)malloc(sizeof(Node));这个又有什么区别呢?thanks
最佳回答
1。CSNode是结构体类型,CSTree是结构体指针类型。CSNode x;则x是一个结构体变量;CSTree x;则x是指向结构体变量的指针2。void insert(LinkList p;int x) 形参p是变量,使用这个不能带回修改后的结果void insert(LinkList &p;int x) 形参p是变量的引用,使用这个可以带回修改后的结果,只能用在C++中void insert(LinkList *p;int x) 形参p是变量的指针,使用这个可以带回修改后的结果,效果和第二个一样,但不如第二个方便3。LinkList s; s是链表类型的一个变量LinkList *s;s是指向链表头结点的指针变量 (我这样说的前提是LinkList是结构体类型,而不是指针类型)如果LinkList是指针类型,那么第一种s就是指针,第二种s就是指针的指针4。假设LinkList是结构体类型,那么第一种开辟空间的写法是错误的,第二种是对的,用malloc开辟空间,返回的是指针。假设LinkList是结构体指针类型,那么第一种是是开辟了一个节点的空间,并返回了其起始地址;第二种应该不对吧。
最新回答共有2条回答
-
2026-04-07 20:24:49想人陪的学姐
回复1。CSNode是结构体类型,CSTree是结构体指针类型。CSNode x;则x是一个结构体变量;CSTree x;则x是指向结构体变量的指针2。void insert(LinkList p;int x) 形参p是变量,使用这个不能带回修改后的结果void insert(LinkList &p;int x) 形参p是变量的引用,使用这个可以带回修改后的结果,只能用在C++中void insert(LinkList *p;int x) 形参p是变量的指针,使用这个可以带回修改后的结果,效果和第二个一样,但不如第二个方便3。LinkList s; s是链表类型的一个变量LinkList *s;s是指向链表头结点的指针变量 (我这样说的前提是LinkList是结构体类型,而不是指针类型)如果LinkList是指针类型,那么第一种s就是指针,第二种s就是指针的指针4。假设LinkList是结构体类型,那么第一种开辟空间的写法是错误的,第二种是对的,用malloc开辟空间,返回的是指针。假设LinkList是结构体指针类型,那么第一种是是开辟了一个节点的空间,并返回了其起始地址;第二种应该不对吧。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
