首页上一页 1 下一页尾页 1 条记录 1/1页
引用传参与指针传参
发表在C语言图书答疑
2016-04-13
是否精华
是
否
版块置顶:
是
否
我想问为什么这种在创建单链表的时候,如果用引用做参(node *&front)就能创建并输出,而将参数改为指针
(node *front)就无法输出,
#include<iostream.h>
#include<stdio.h>
typedef struct qnode
{
int data;
struct qnode *next;
}node;
//创建单链表
void create(node *&front)
{
node *rear=front;
node *s;
int n,i;
front=rear=new node;
front->next=rear->next=NULL;
cout<<"please input the data number:";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"please input the data:";
s=new node;
cin>>s->data;
s->next=NULL;
rear->next=s;
rear=s;
}
}
//输出单链表
void disp(node *front)
{
node *l=front->next;
while(l!=NULL)
{
cout<<l->data;
l=l->next;
}
cout<<endl;
}
void main()
{
//node *front,*rear;
node *front;
create(front);
disp(front);
}
(node *front)就无法输出,
#include<iostream.h>
#include<stdio.h>
typedef struct qnode
{
int data;
struct qnode *next;
}node;
//创建单链表
void create(node *&front)
{
node *rear=front;
node *s;
int n,i;
front=rear=new node;
front->next=rear->next=NULL;
cout<<"please input the data number:";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"please input the data:";
s=new node;
cin>>s->data;
s->next=NULL;
rear->next=s;
rear=s;
}
}
//输出单链表
void disp(node *front)
{
node *l=front->next;
while(l!=NULL)
{
cout<<l->data;
l=l->next;
}
cout<<endl;
}
void main()
{
//node *front,*rear;
node *front;
create(front);
disp(front);
}