为什么有时LinkList L,L前要加*,有时不加*
时间: 2023-04-07 13:02:56 浏览: 66
这涉及到指针的使用。当我们定义一个指针变量时,需要在变量名前加上*,表示这是一个指针变量。而当我们传递一个指针变量作为参数时,不需要加*,因为函数中已经声明了指针类型。所以,在使用LinkList L时,需要根据具体情况来判断是否需要加*。
相关问题
Linklist *L和Linklist L初始化链表时应该用哪个
Linklist *L应该用指针类型,而Linklist L应该用结构体类型。
具体来说,Linklist *L是一个指向链表头节点的指针,它需要在初始化时赋值为NULL,表示链表为空。而Linklist L是链表的头节点,它需要在初始化时先创建一个空节点,并将其next指针赋值为NULL,表示链表为空。
因此,链表初始化时应该使用如下代码:
```c
Linklist *L = NULL; // 初始化链表头指针
Linklist L; // 初始化链表头节点
L.next = NULL; // 将链表头节点的next指针赋值为NULL
```
单链表的删除函数,为什么读入的是LinkList &L,而不是LinkList L
在C++中,函数参数可以有两种传递方式:值传递和引用传递。当我们需要在函数中修改传入的参数时,我们通常使用引用传递。
对于链表的删除操作,我们需要修改链表的结构,所以需要使用引用传递。当我们将链表作为参数传递给函数时,如果使用值传递,函数会创建链表的一个副本,对副本进行操作,并不会影响到原始链表。而使用引用传递,函数可以直接对原始链表进行修改。
所以,在单链表的删除函数中,参数使用LinkList &L的形式,表示传入的是原始链表的引用,可以在函数中直接对原始链表进行删除操作。如果使用LinkList L,即值传递的方式,对L的修改不会影响到原始链表。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)