Int *&是专门给指针的引用(reference of pointer)的,一般给数组(array)
Int * 就是一般的指针变量(pointer)
功能上是一样的
就如 int a 和 int&
Reference(引用) 一定要赋值
这里建立链表的时候为什么要用LNode *&head来建表?
& 在c语言中,叫做取地址符号
& 在数据结构中(c++)中,作为参数的时候叫做引用类型(引用调用) ,它作为形参的时候,主调函数会把实参的地址传递给形参,形参所做的变化会传递给实参,主调函数的实参也跟着变化,不用return。
这个引用类型的就是实参的地址传给形参,他两共同使用一个地址单元
因为这里的head的值不能被别的赋值
Reference(引用)一定要在定义的时候赋值
不能重新赋值
这里的head 是指针变量
一开始赋值的地址不可以改
和int *const(C语言中,const 的作用是把变量变为一个只读的变量。) 一样
int * const p
这里 const 修饰的是 p,所以 p 中存放的内存单元的地址不可变,但内存单元中的内容是可变的。即 p 的指向不可变,p 所指向的内存单元的内容可变。
此时,p 中存放的内存单元的地址,必须在定义的同时初始化
内存单元的地址和内容就和酒店的房间号和房间里的顾客一样 指针指向的是地址
也就是说head指针(地址)不可以变
算是一种保护机制
相当于定义了一个int *p , p是指针变量 定义了一个Node类型的指针变量head
他们两个的head都是指针变量,区别在于一个是引用类型,一个不是引用类型
引用类型在建链表的时候用到