请各位看这段代码,为什么同一指针,没有另外赋值结果却不一样呢?

popo00fa popo00fa 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
源代码如下:问题见标记处
typedef struct Node
{
int data;
int ID;
struct Node* next;
}*PNode;

typedef struct LinkList
{
PNode head;
int len;
}*PLink;

PLink CreateLinkList(int L)
{
PLink p_L=new LinkList;
p_L->head=new Node;
cout<<"Get p_L->head Address in Create***"<<p_L->head<<endl; //这里获得头结点的地址。

if(!p_L)
cout<<"Apply Memory for LinkList fail\n";
if(!p_L->head)
cout<<"Apply Memory for Node fail\n";

p_L->head->ID=0;
p_L->len=L;
p_L->head->next=NULL;

PNode p;
if(L>0)
{
while(L)
{
p=new Node;
cin>>p->data;
p->ID=L;
p->next=p_L->head->next;
p_L->head->next=p;
--L;
}
}
else
{
p=NULL;
p_L->head->next=p;
}
return (p_L);
}

int GetElem(PLink pl)
{
cout<<"Get pl->head Address in Get***"<<pl->head<<endl;//这里获得的头结点地址与前面获得不一样,差一个Node单元。
PNode p;
p=pl->head->next;
while(p)
{
cout<<p->ID<<"***"<<p->data<<endl;
p=p->next;
}
return 0;
}

各位高人麻烦了!就是这里弄不清,知识面太浅了!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
popo00fa
C++ 语言 65,214 成员 250,514 内容