形参实参,指针引用
来源:百度知道 编辑:UC知道 时间:2024/06/02 15:43:02
LNode是结构体链表
定义时
void InitList(LNode *&HL)
调用时
InitList(HL)//这是对的HL 是指针
定义时
void InitList(LNode &HL)
调用时
InitList(HL)??怎么用
定义时
void InitList(LNode *HL)
调用时
InitList(HL)??怎么用?
定义时
void InitList(LNode *&HL)
调用时
InitList(HL)//这是对的HL 是指针
定义时
void InitList(LNode &HL)
调用时
InitList(HL)??怎么用
定义时
void InitList(LNode *HL)
调用时
InitList(HL)??怎么用?
如果HL是指针则:
定义时
void InitList(LNode &HL)
应该这么用
InitList(*HL);
注意上面的*不是表示指针,而是表示取HL所指向的内容。
定义时
void InitList(LNode *HL)
则应该这么用
InitList(HL);
但这只是单纯的从语法来回答你的问题的,对于你这个函数,我想函数的意图是初始化一个链表,并且头结点HL初始为NULL。
那么你这里的参数HL就必须是个指针的引用或指针的指针了。
否则
void InitList(LNode &HL)
的形式调用InitList(*HL)时会报错(访问无效地址)
void InitList(LNode *HL)
的形式调用InitList(HL)时HL还是会为NULL(值传递,头结点没有返回出来),而产生内存泄漏。
1、
定义时
void InitList(LNode &HL)
调用时
InitList(HL)??怎么用
==============
LNode HL;
InitList(HL);
2、
定义时
void InitList(LNode *HL)
调用时
InitList(HL)??怎么用?
==============
LNode HL;
InitList(&HL);