LinkQueue &L引用型(建议使用)
typedef int QElemType;
typedef int Status;
typedef struct QNode
{
QElemType data;
struct QNode * rear;
struct QNode * next;
}QNode,*LinkQueue;
//链式队列的初始化
Status InitLinkQueue(LinkQueue &L)
{
(L)=(LinkQueue)malloc(sizeof(QNode));
if((L)==NULL)
{
return OK;
}
(L)->rear=(L);
return OK;
}
int main()
{
LinkQueue L;
int ElemNumber;
QElemType EnElem,DeElem;
InitLinkQueue(L);
return 0;
}
LinkQueue *L 指针型
typedef int QElemType;
typedef int Status;
typedef struct QNode
{
QElemType data;
struct QNode * rear;
struct QNode * next;
}QNode,*LinkQueue;
//链式队列的初始化
Status InitLinkQueue(LinkQueue *L)
{
(*L)=(LinkQueue)malloc(sizeof(QNode));
if((*L)==NULL)
{
return OK;
}
(*L)->rear=*(L);
return OK;
}
int main()
{
LinkQueue L;
int ElemNumber;
QElemType EnElem,DeElem;
InitLinkQueue(&L);
return 0;
}
&是指某一块内存的地址,*是根据内存的地址,取内容。
一般而言
数据结构中常用套路是
作为函数参数传递的话都是一样的感觉
定义结构体变量用*,参数传递用&
参数传递用*的话
每次使用这个结构体你都要手动 (*变量名).成员变量
如果直接用&的话,就可以直接 变量名 -> 成员变量