到数据结构 队列 指针和变量的问题void InitQueue(LinkQueue *&q) 和void InitQueue(LinkQueue &Q)就看不懂了 这两种有什么区别void InitQueue(LinkQueue *&q){q=(LinkQueue*)malloc(sizeof(LinkQueue));if(!q)exit(-1);q->front=NULL;q->rear=NULL;}void InitQueue(LinkQueue &Q)//构造一个空队列Q{Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));if(!Q.front)exit(-1); //内存分配失败则退出Q.front->next=NULL;}还看到过void InitQueue(LinkQueue *Q)//构造一个空队列Q的,这几种都对么?
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
宣告时的 &, 是一个参考的意思. 可以想成是定义一个变量的别名. 别名的使用如同一般变量.
* void InitQueue(LinkQueue *Q) //传一个指针
* void InitQueue(LinkQueue &Q) //传一个变量参考 (不需以指针形式操作, 同指针操作效果)
* void InitQueue(LinkQueue *&q) // q是一个参考, 对应到一个指针
添加回答
举报
0/150
提交
取消