c++链表中指针
#include <iostream.h>
#include "malloc.h"
struct Node{
int data;
Node * next;
};
void create(Node *L){
Node * p;
L=(Node*)malloc(1*sizeof(Node*));
(*L).data=0;
(*L).next=NULL;
p=(Node*)malloc(1*sizeof(Node*));
p->data=0;
p->next=NULL;
while(p->data!=-1){
p=(Node*)malloc(1*sizeof(Node*));
cin>>p->data;
p->next=NULL;
if(!(*L).next){
L->next=p;
}
p->next=p;
}
}
int main(){
Node L;
Node *p;
create(&L); //头结点传递
cout<<L.data;
p=&L;
p=p->next;
while(p->next){
cout<<p->data<<" ";
p=p->next;
}
return 0;
}程序的话编译的时候是没有错的,只要输入到-1就会出错了,试着把输出的部分注释掉了是不会出错的,
为了弄清楚指针的一系列东西,所以自己写了个这样子的,如果我一定要用这种将头结点穿过去的方式写的话请问要怎么修改呢,谢谢!
...全文


