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;
}
&是指某一块内存的地址,*是根据内存的地址,取内容。
一般而言
数据结构中常用套路是
作为函数参数传递的话都是一样的感觉
定义结构体变量用*,参数传递用&
参数传递用*的话
每次使用这个结构体你都要手动 (*变量名).成员变量
如果直接用&的话,就可以直接 变量名 -> 成员变量