SqList *&L与SqList *L的区别
时间: 2023-07-23 20:27:27 浏览: 61
SqList *&L和SqList *L的区别在于指针L的传递方式不同。SqList *&L是指SqList指针的引用,也称为指针的指针,可以改变指针L的值,即可以改变原指针的指向;而SqList *L是指针的传值,只是将指针L的值拷贝给了形参,对形参的操作不会影响原指针的指向。因此,在需要修改指针L的指向时,应该使用SqList *&L。
相关问题
sqlist *L和sqlist &L的区别
sqlist *L表示L是一个指向sqlist类型的指针,而sqlist &L表示L是一个sqlist类型的引用。
使用指针时,可以通过对指针进行解引用(*L)来访问指针所指向的对象。对指针进行赋值操作,可以改变指针所指向的对象。
使用引用时,可以直接使用L来访问引用所引用的对象。引用在创建时必须初始化,并且不可以重新绑定到其他对象。
总结来说,指针可以为空(NULL),可以改变所指向的对象,而引用必须在初始化时绑定到一个对象,并且不能改变绑定的对象。
void CreateSqList(SqL *&L,int a[],int n)和void CreateSqList(SqList *&L,int a[],int n)有什么区别
这两个函数的区别在于参数类型中的一个符号“*”。它表示指针类型。
- `void CreateSqList(SqL *&L,int a[],int n)`中,参数 `L` 是指向 `SqL` 指针类型的指针,即 `L` 存储的是指向 `SqL` 类型数据的地址,函数执行完后,`L` 可能会指向新创建的 `SqL` 类型数据,因此使用引用传递。
- `void CreateSqList(SqList *&L,int a[],int n)`中,参数 `L` 是指向 `SqList` 类型数据的指针,即 `L` 存储的是指向 `SqList` 类型数据的地址,函数执行完后,`L` 可能会指向新创建的 `SqList` 类型数据,因此使用引用传递。
两个函数的区别在于它们创建的数据类型不同,一个是 `SqL` 类型,一个是 `SqList` 类型。同时,第一个函数传递的是指向指针类型数据的指针,第二个函数传递的是指向数据类型的指针。