线性表顺序存储结构插入元素算法中的int &n
算法中,函数的形参中有个 int &n 是不是错了,应该改为int n 这是什么书?呃,合理,因为你的函数是空型,而你添加元素之后,容器是变大了。用引用,直接对外修改~ 本帖最后由 风扫地 于 2018-10-16 15:49 编辑
引用,可以理解为指针访问,对引用的读写访问可以看成对指针指向的内容的读写。
参数传递包含值传递和址传递两种方法,前者不能改变实际参数的值,后者能改变实际参数的值。引用是地址传递的一种变型。
形参是parameter,实参是argument,理解一下他们的区别。
落实到你的代码:
调用这个函数时,n++会对调用时传入的实际参数产生影响,即调用完毕后,调用处传入的n会加1.
REF:
https://www.cnblogs.com/jycboy/p/5184638.html
表达式中的取地址符&不再是取变量的地址,而是用来表示该变量是引用类型的变量。
claws0n 发表于 2018-10-16 15:26
这是什么书?
呃,合理,因为你的函数是空型,而你添加元素之后,容器是变大了。用引用,直接对外修改~
北航出版社 唐发根第三版 数据结构
容器 是不是指数组 ?
n 是 线性表的长度,&n 取这个长度变量的地址,在函数内部改变长度的值,然后外部的直接就改变了?
大可爱 发表于 2018-10-16 15:39
北航出版社 唐发根第三版 数据结构
容器 是不是指数组 ?
n 是 线性表的长度,&n 取这个长度变量的地 ...
容器就是非纯量,数组、结构体、树……
这是 C++,不是 C,在函数原型定义的 & 是 引用。引用之前没有跟你讨论过??
swap(int &x, int &y); int a,b; swap(a,b); //不用一直写解引用
更多,看楼上 本帖最后由 风扫地 于 2018-10-16 15:50 编辑
REF2:
https://www.cnblogs.com/codingmengmeng/p/5865510.html
这篇文章说的很清楚了,尝试自己敲进编译器运行一下。也可以用“别名”来理解引用,就是给你传入的实际参数取了一个别名。 claws0n 发表于 2018-10-16 15:43
容器就是非纯量,数组、结构体、树……
这是 C++,不是 C,在函数原型定义的 & 是 引用。引用之前没有跟 ...
学了后面忘了前面。
那么说 结构体是容器,但容器不是结构体咯 大可爱 发表于 2018-10-16 15:59
学了后面忘了前面。
那么说 结构体是容器,但容器不是结构体咯
{:10_292:}
能够存储超过一个元素的东西就是容器
然后我一开始就告诉你代码没有问题以及原因{:5_100:}
页:
[1]