我想问问我的建的顺序表中的初始化函数形参中加&和不加&有什么区别

#include<stdio.h>
#include<conio.h>
#include<malloc.h> //申请地址文件头
#define listsize 100
typedef int listdata;
typedef struct
{
listdata *data; //*data变量定义的是数据元素
int length; //length变量定义顺序表中元素个数跟踪
}seqlist; //结构体变量

int initlist(seqlist &L) //创建空顺序表
{
L.data=(listdata *)malloc(listsize*sizeof(listdata));
if(L.data==NULL)
return 1;
L.length=0;
return 0;
}

第1个回答  2012-03-17
加&传的是地址
不加&传的是值追问

那我上面的程序为什么要加&?我后续的一些函数(比如说我的什么查找函数,删除函数等等可以不加&也可以运行),老师说加不加&都行,但没有告诉我原因。

追答

你的L是*listdata型的, 不加你的参数变成片样listdata*

追问

还是没听懂,能不能加你QQ聊一下?

本回答被提问者采纳
相似回答