当前位置: 首页 > news >正文

野指针与空指针的异同

1、什么是野指针

在了解什么是野指针之前我们要知道什么是指针即指针的定义是什么。

指针:是一种特殊的变量类型,它存储的是一个内存地址,该地址指向另一个变量的位置。可以通过指针来间接访问和修改该地址所指向的变量的值。

PS:请注意指针在进行使用的时候为了防止变成野指针必须要进行初始化。

野指针:是指针,但是指向的空间是被释放的空间、被释放的指针和没有初始化的指针就是野指针。

2、野指针与空指针的区别

野指针:

                1、是指向被释放的空间的指针,里面存储的地址是有效的地址,只不过里面不能通过这个地址去进行访问。

                2、野指针指向的内存地址是未知或无效的,可能导致程序错误或崩溃。

                3、野指针就像是一条疯狗一样非常的危险,使用野指针可能导致不可预知的结果。

                4、很难通过assert断言检测出来,要自己通过调试一个个的试出来。

空指针:

                1、空指针指向的空间的地址(地址本质也是一串数字)是0。

                2、空指针指向的对象是具体的虽然指向对象的地址是0,表示的是不指向有效的对象。

                3、空指针常被用来表示一个指针尚未指向有效的对象,可以用于判断指针是否已经被初始化或者指向了有效的内存地址。

                4、直接通过assert调试即可或者通过if的判断也能直接知道。

3、传值和传地址的区别

1. 传值的特点:

                传值是指将实际参数的值复制一份,然后再传递给函数的形式参数。在函数内部,对形式参数的修改不会影响到实际参数的值。传值方式适用于参数较小且不需要在函数内部修改的情况。

2. 传地址的特点:

                传地址是指将实际参数的地址传递给函数的形式参数。在函数内部,形式参数指向了实际参数所在的内存地址,可以直接对实际参数进行修改。传地址方式适用于参数较大或需要在函数内部修改的情况。

3. 效率:

                传值需要将参数的值复制一份,因此在内存和时间上会有一定的开销;而传地址只需要传递一个地址,可以节省内存和时间开销。

4. 影响范围:

                传值只影响函数内部的形式参数,不会改变实际参数的值;而传地址可以在函数内部修改实际参数的值,会影响到函数外部的实际参数。

总之,传值和传地址是函数调用中传递参数的两种方式。传值是将参数的值复制一份传递给函数,不会改变实际参数的值;传地址是将参数的地址传递给函数,可以在函数内部直接修改实际参数的值。选择使用哪种方式取决于参数的大小、是否需要在函数内部修改以及对性能的要求。

http://www.lryc.cn/news/436547.html

相关文章:

  • 虚拟存储器“大观”,讲解核心逻辑知识和408大题方法
  • 【AI赋能医学】基于深度学习和HRV特征的多类别心电图分类
  • 速盾:做外贸用高防cdn需要国外节点的吗?
  • 单片机中为什么要使用5v转3.3v,不直接使用3.3V电压
  • SpringBoot项目请求返回json空字段过滤
  • linux下进程详解
  • 春招审核流程优化:Spring Boot系统设计
  • QT:音视频播放器
  • 大模型入门 ch 03:注意力机制
  • STM32点亮第一个LED
  • [Linux]:动静态库
  • windows 显示进程地址空间
  • Android 12 SystemUI下拉状态栏禁止QuickQSPanel展开
  • 二分思想与相关问题(下)
  • 【算法专题】搜索算法
  • B2064 斐波那契数列
  • Spark的介绍
  • SpringBoot项目是如何启动
  • 科技之光,照亮未来之路“2024南京国际人工智能展会”
  • 在深度学习计算机视觉的语义分割中,Boundary和Edge的区别是?
  • 【JAVA入门】Day41 - 字节缓冲流和字符缓冲流
  • collocate join,bucket join,broadcast join,shuffle join对比分析
  • 微信自动通过好友和自动拉人进群,微加机器人这个功能太好用了
  • R语言统计分析——功效分析3(相关、线性模型)
  • Django创建模型
  • 盘点2024年大家都在用的短视频剪辑工具
  • “左侧文字横向”的QTabWidget
  • python学习之字符串操作
  • 第7篇:【系统分析师】计算机网络
  • 无人机培训机构组装调试技术详解