回 帖 发 新 帖 刷新版面

主题:&和*问题

Status CreatAscend(LinkList &L,int n)
 Status CreatAscend(LinkList L,int n)
请问L加&有什么区别吗?[em3]

回复列表 (共4个回复)

沙发

传递的参数不同,第一个是传引用,第二个是传值。

传引用的时候类似传指针,如果在函数内部改变了L,L本身就会发生改变
传值的时候传入函数的是L的一个副本(并不是L本身),如果此时在函数内部改变L,只是改变了L的副本,对L没有起到任何作用。

还有一点,在参数体积比较大的时候(比如结构,类),传引用效率要高一些。毕竟它不会去复制一遍再传入。

在c++里面,传引用的时候,如果不改变其内容的话,最好在参数前面加const,以防以外的修改。

板凳

不知道在tc.exe上直接用&能否运行,以前学c语言时候没见过,谢谢答复

3 楼

C语言中没有引用一说。
引用不占用内存空间,它只是另一个变量的“别名”。

4 楼


&L是指针类型的,L是结构体类型的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册