鱼C论坛

 找回密码
 立即注册
查看: 961|回复: 5

[已解决]引用

[复制链接]
发表于 2020-12-17 19:01:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
C++引用到底有什么作用啊,尤其是形参里的引用,如果去掉&有什么差别吗?没学过C++,不太懂。
再换个背景
最佳答案
2020-12-17 20:03:44
一世轻尘 发表于 2020-12-17 19:48
还是不太懂,以这个函数为例吧,为什么struct student *head不行

所以说,学习循序渐进,你先掌握好指针和地址传递,然后再学链表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-17 19:35:55 From FishC Mobile | 显示全部楼层
本帖最后由 倒戈卸甲 于 2020-12-17 19:40 编辑

。。。。不学c++,你为何要问这个问题。加上&这个符号后,表示在任何时候处理该变量都是直接找到该变量的内存地址,对这个内存地址里的值进行操作。基本就是只认经纬度不认这个地的地名有哪些称呼。c++的引用是现在编程这整个行业的底层基本技术。后来java,python这些面向对象的编程语言全都采用了引用这个技术,准确来说,在这些语言里你就找不到哪个对象是非引用的。不仅如此,对象的各种方法,有七成以上还是const &常量引用,不仅100%指向原对象,而且100%不让你乱修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 19:45:17 From FishC Mobile | 显示全部楼层
好吧~_~,才看到你问的其它问题。你何止是没学过c++,根本没学过编程吧。那我上面讲的你其实也并不能听懂。爱问问题是好事,但你现在缺乏基本常识,还是先学习基础,有个系统的了解后再深入吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-17 19:48:10 | 显示全部楼层
倒戈卸甲 发表于 2020-12-17 19:35
。。。。不学c++,你为何要问这个问题。加上&这个符号后,表示在任何时候处理该变量都是直接找到该变量的内 ...
void initialize(struct student *&head)
{
        head=(struct student*)malloc(LEN);
        if(head==NULL)
        {
                printf("error!");
                exit(1);
        }
        head->next=NULL;//使头结点指针域为空 
}
还是不太懂,以这个函数为例吧,为什么struct student *head不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 19:59:16 From FishC Mobile | 显示全部楼层
本帖最后由 倒戈卸甲 于 2020-12-17 20:02 编辑
一世轻尘 发表于 2020-12-17 19:48
还是不太懂,以这个函数为例吧,为什么struct student *head不行


因为局部变量只在声明的那个函数体内生效,出了函数体立刻销毁。这个函数是对一个链表进行初始化,头节点是要一直使用的,而本身的初始化函数是void类型的局部函数,头节点的初始化没办法被外部接收。但引用就不一样了,函数内的修改是针对那个地址的。总结来说就是,在局部函数里改了那个地址的值,函数没了那个改动依然在,但如果改动局部函数里的某个变量值,这个变量值外部又不接收,那变量没了就都没了。这里不使用引用,改用二重指针struct student **head,去操作head的地址也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-17 20:03:44 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
一世轻尘 发表于 2020-12-17 19:48
还是不太懂,以这个函数为例吧,为什么struct student *head不行

所以说,学习循序渐进,你先掌握好指针和地址传递,然后再学链表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 09:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表