C语言关于函数形参中指针类型的取地址符问题#include#includetypedef struct {int num;//学号}Datatype;typedef struct LNode{Datatype Data;struct LNode *next;}LNode,*Linklist;void a(Linklist &l){Linklist head=(Linklist)malloc(sizeof(LN
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 01:40:59
C语言关于函数形参中指针类型的取地址符问题#include#includetypedef struct {int num;//学号}Datatype;typedef struct LNode{Datatype Data;struct LNode *next;}LNode,*Linklist;void a(Linklist &l){Linklist head=(Linklist)malloc(sizeof(LN
C语言关于函数形参中指针类型的取地址符问题
#include
#include
typedef struct {
int num;//学号
}Datatype;
typedef struct LNode{
Datatype Data;
struct LNode *next;
}LNode,*Linklist;
void a(Linklist &l)
{
Linklist head=(Linklist)malloc(sizeof(LNode));
head->next=NULL;
scanf("%d",&head->Data.num);
l=head;
}
void main()
{
Linklist l;
l=NULL;
a(l);
printf("%d",l->Data.num);
}
void a(Linklist &l)
这一句,为什么加上取地址符就对了?
C语言关于函数形参中指针类型的取地址符问题#include#includetypedef struct {int num;//学号}Datatype;typedef struct LNode{Datatype Data;struct LNode *next;}LNode,*Linklist;void a(Linklist &l){Linklist head=(Linklist)malloc(sizeof(LN
楼主请注意,那不是取地址符,是引用..
如果不加那个,运行的时候会把整个l的内容复制一份,送给函数去处理,因此,主调函数中的l的内容不会发生变化