什么情况下使用指针的引用(指针)
来源:互联网 发布:3b代码编程及图案 编辑:程序博客网 时间:2024/05/16 10:58
在函数调用时
用指针或者引用做参数,表示把变量的地址传递给子函数,但是子函数只能修改指针所指变量的值,并不能修改指针的指向。
如果想用修改指针的指向,就要用指针的指针,或者指针的引用。
大部分情况下,用指针和引用做参数,只是想要修改指针所指变量的值,并没有想修改指针的指向。
但是如果指针所指的这块内存在调用子函数结束之后发生了改变,那就要用指针的引用或者指针的指针。
下面举几个典型的例子:
例子一:
链表做参数时,其实就是头结点的指针,在遍历,查找这种操作做子函数时,链表不会发生改变,那就用头结点的指针做参数就可以了。
但是在增加,修改,删除这种操作时,链表会发生改变,这就表示头结点指针所指的这块内存会发生改变,也就是指针的指向可能会发生改变,这种情况下就要头指针的引用。
在二叉树和图的子函数调用中是同样的道理,如果子函数会修改二叉树和图,那就要用指针的引用。
那块内存在主函数已经申请好了,但是在子函数中大小变了。
例子二:
在主函数中定义了一个指针,要将这个指针做参数传给子函数,在子函数中开辟两兆内存,这个时候一定要用指针的引用。
因为指针所指的这块内存发生了改变,或者说指针的指向发生了改变。
主函数中只是定义了一个指针,并没有真正开辟内存,子函数中才真正开辟内存,指针指向哪才明确下来。
如果你有时候不清楚该不该用变量的引用做参数,那就记住一点:
用指针的引用总是没有问题的。因为传递变量的地址比传递变量本身总是改的快。
阅读全文
0 0
- 什么情况下使用指针的引用(指针)
- 什么情况下用指针?
- 什么情况下,空引用null调用方法不报空指针异常?
- 什么情况下指针类型转换会改变指针的值
- 指针、指针的引用
- 指针的引用(* &)
- 指针的引用(*&)
- 指针 指针的引用 指针的指针
- 指针和引用的使用
- 引用和指针的使用
- 引用、指针的指针、指针的引用
- 指针的引用(*&)与指针的指针(**)
- 指针的引用(*&)与指针的指针(**)
- 指针的引用(*&)与指针的指针(**)
- C++中引用,指针,指针的引用,指针的指针
- C++中引用,指针,指针的引用,指针的指针
- 指针*、引用&、地址&、指针的引用*&、指针的指针**
- 指针的指针,指针的引用
- I/O流--1
- java面试基础知识(二)
- kimball的维度的缓慢变化总结
- Solr检索配置
- FastDFS 实现分布式文件系统(图片的上传)
- 什么情况下使用指针的引用(指针)
- J2EE搭建之七 创建一个Dynamic Web Project
- HDU 6168 Numbers 思维
- phpstorm 实现同步代码到远程虚拟机
- java-基础复习-工具类
- 【Solution】Git添加GitHub远程库免去账号密码验证
- javascript数据结构系列(五)-串
- 垃圾回收机制
- angular2中数据绑定方法总结和管道使用