69,371
社区成员
发帖
与我相关
我的任务
分享
#define MaxSize 50;
//用到的结构体
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
//初始化线性表
void InitList(SqList *&L)
{
L=(SqList *)malloc(sizeof(SqList));
L->Length=0;
}
//用到的结构体
typedef struct
{
char data[50];
int length;
}*SqList;
//初始化线性表
void InitList(SqList &L)
{
L=(SqList *)malloc(sizeof(SqList));
L->length=100;
}
int main()
{
SqList *temp;
InitList(temp);
cout<<temp->length<<endl;
return 0;
}
int main()
{
SqList *temp; //首先定义指针变量,指针没有分配空间,指针指向的是一非法空间
InitList(temp); //传递SqList *类型的引用过去,就是把temp本身传入,为temp开辟空间,赋值
//若为InitList(SqList *)类型,就是把指针temp值拷贝(复制了一个temp),执行完InitList()函数后,main()函数中的temp没有任何变化,还是指向一片非法空间
cout<<temp->length<<endl;
return 0;
}
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList *L)
//SqList InitList(SqList L)
typedef struct
{
ElemType data[MaxSize];
int length;
}*SqList;
SqList InitList(SqList L)
//void InitList(SqList *L)
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList **L)
//SqList *InitList(SqList *L)