我有点搞不懂为什么后面的L会报错误,以及传参的时候,'*'和'&'有什么区别
你的Linklist本身就是一个结构体指针类型, Linklist*表示的是一个二级指针,要通过这个二级指针访问这个结构体,你必须先解引用得到这个结构体指针,而不是直接用这个指针->访问成员操作
你的L是个空指针,在for循环开始之前你将 L = NULL;
*
和 &
你可以简单的理解为是一对互逆的操作。
*叫间接访问运算符,也叫解引用运算符,它从指针指向的地址中取值;
&刚好相反,它用于获取变量的地址;
形参里,'*' 表示指针,'&'表示引用。修改如下,供参考:
回答:需要理解这两个运算符,以及地址、指针的含义; ¥ 叫做取值运算符,是用来取地址的,返回地址; * 叫做声明一个指针,此时你创建的变量是一个指向某地址的指针,指针的内容表示该单元的存放内容
最后是结构体的 . 访问,及 -> 访问的了解,一般的结构体对象采用 . 访问,指针则采用 -> 访问
此处推荐菜鸟教程的一些完整些的解释:https://www.runoob.com/cprogramming/c-pointers.html