社区
数据结构与算法
帖子详情
指针的问题????????UP有分.
iceadf
2003-08-26 09:57:25
再链表插入的函数中为什么头节点是指针的指针类型.好像就用指针就可以呀.
大家能不能解释一下.明白后马上结帖.再止谢过.
...全文
71
13
打赏
收藏
指针的问题????????UP有分.
再链表插入的函数中为什么头节点是指针的指针类型.好像就用指针就可以呀. 大家能不能解释一下.明白后马上结帖.再止谢过.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FishCrazy
2003-08-27
打赏
举报
回复
UP ;)
FishCrazy
2003-08-27
打赏
举报
回复
我看你关键是要理解
传值还有传地址两者的定义以及它们之间的差别
wangmin_yjitx
2003-08-27
打赏
举报
回复
up
challengecxi
2003-08-27
打赏
举报
回复
对于数据结构一些问题,不妨到下面网址下载一个演示软件,挺有用的。
http://www.cnitexam.com/down/index.php?o=display;id=25
challengecxi
2003-08-27
打赏
举报
回复
*p改变以后,p的值是不变的(p是一个地址值,*p是p指针所指向的类型值)。**p是指向指针类型的指针,*p改变以后,**p的地址值不变,但其指向的类型值改变。
其实,函数调用可以用指针的引用,这样就能改变形参的值,对于你的程序第一行若改为“seqtree * & root”,函数里的语句改变root后,推出函数以后root的值就会改变,下面这个简单的例子希望能帮你理解
#include<iostream>
using namespace std;
struct node
{
int d;
node * next;
};
void insert(node * & r)
{
int ins;
cin>>ins;
node * ptr= new node;
ptr->next=0;
ptr->d=ins;
r->next=ptr;
}
int main()
{
node *p=new node;
p->d=3;
p->next=0;
insert(p);
while(p)
{
cout<<p->d<<endl;
p=p->next;
}
return 0;
}
这个函数当输入完ins以后输出应为
3
ins
wbh0360
2003-08-27
打赏
举报
回复
可以啊,不过不知道你程序怎么写的?
boodweb
2003-08-26
打赏
举报
回复
哦,那这样的话应该是seqtree **root才对阿,否则编译的时候怎么会出问题阿
用指针的指针应该是为了能够改变root吧(用*root=ins),否则root不可能改变
btw:程序里的root=ins是不是要写成*root=ins呢
iceadf
2003-08-26
打赏
举报
回复
to challengecxi(challenge):
int **p, 按你的意思,如果*p的值改变的话,那*p,p,**p.这三个值将如何改变呀。/
iceadf
2003-08-26
打赏
举报
回复
void insert(seqtree *root, int val)
{
seqtree *ins,*p=root;
ins=new seqtree;
ins->value=val;
ins->left=ins->right=NULL;
if(root==NULL)
{
root=ins;
return;
}
for(;;)
{
if(p->value<ins->value)
{
if(p->left==NULL)
{
p->left=ins;
break;
}
else p=p->left;
}
else
{
if(p->right==NULL)
{
p->right=ins;
break;
}
else p=p->right;
}
}
}
比如说上面这个排序二叉树的插入函数,其形参就一定要是指针的指针,如果换成是指针就编译出问题。
challengecxi
2003-08-26
打赏
举报
回复
我在做数据结构上机作业时就在这个问题上纠缠了好久TT
challengecxi
2003-08-26
打赏
举报
回复
指向指针(假设为ptr1)的指针类型(假设为ptr2)改变后,ptr1的值才会改变,你自己试试就知道了。
boodweb
2003-08-26
打赏
举报
回复
没看懂啊,能不能举个例子
链表还有这么一说吗?
SoftWare1999
2003-08-26
打赏
举报
回复
在不含头节点的链表中,返回第一个指针类型的地址
c++
指针
的安全
问题
本文详细探讨了C++中
指针
可能导致的安全
问题
,包括悬挂
指针
、野
指针
、内存泄漏和缓冲区溢出。作者介绍了这些
问题
的原理、危害以及避免策略,强调了智能
指针
、RAII原则和良好编程实践的重要性。
高通camx hal进程NULL空
指针
crash
问题
分析之一:【Power up Failed导致】CamxResultECSLStreamOn导致
本文聚焦高通camx hal进程NULL空
指针
crash
问题
,此
问题
在老化过程中低概率出现。通过对crash堆栈、空
指针
源码、线程日志等分析,发现是StreamOn失败致流程异常,根源是KMD上电失败,CAM - FLASH过程异常,未正确设置状态。最后提出加状态判断的解决方案。
c++
指针
问题
本文详细介绍了C++中
指针
的基本概念、定义、使用方法,包括
指针
变量、内存空间、空
指针
、野
指针
、const修饰以及
指针
与数组、函数的关系。强调了
指针
使用中的注意事项,如初始化、空
指针
检查、内存释放等,以确保程序的稳定性和安全性。
MTK 平台CTP bring up记录
本文详细记录了MTK MT6761平台上的CTP驱动bring up过程,涉及TP的基础原理、bring up步骤及常见
问题
分析。重点讨论了I2C通信、中断信号、固件调试和性能优化等
问题
,旨在解决触摸屏在硬件、固件和驱动层面可能出现的
问题
。
指针
问题
全析
本文详细探讨了
指针
的基础概念,包括
指针
与
指针
变量的区别、星号*的用法、野
指针
、空
指针
和失效
指针
。讲解了
指针
的存放形式、类型对
指针
的影响以及在传址、运算、数组、函数、const和整型操作中的应用。特别关注了
指针
减法和无类型
指针
的特性。
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章