大家好,欢迎来到IT知识分享网。
参数传递实际上是值传递,当指针作为函数参数传递时,传递的实际上时指针索指向的地址
typedef struct Node
{
ElemType data;//定义数据data为ElemType型,此处不需要纠结Elemtype到底是什么类型,记住就行。
struct Node* next;//定义结构指针next
}Node;
typedef struct Node*LinkList;
上述代码定义了Node的别名LinkList,时一个指针型结构变量,后续可以直接使用它来定义指向结构体的指针。
LinkList L
在这里就是定义了一个指向结构体Node的指针L。
LinkList ✳L
我们已经知道了LinkList L定义的是指向结构体的指针,所以LinkList ✳L就是定义了指向结构体的指针的指针,也就是二级指针。在这里可以通过指向运算符->访问结构体,即(L)->data ,**L才是指结构体本身
,可以通过操作运算符.
对结构进行访问,即(**L).data
有关二级指针请看这位大佬的文章
LinkList &L
这里可以理解为LinkList &L,&L是取指针L自己的地址,&L就是将L自己的地址传给形参中,且这个变量(形参)是指针型。这时,形参实际上就是实参,形参怎么变,实参怎么变。
*LinkList &L
这种写法实际上是非法的,但是如果单写&*L,是合法的,可以理解为&(L)此时代表取指针L的地址,如果L本身就是指针,那么L就是二级指针,&*L的意义就变成了取二级指针自己的地址
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15463.html