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

动态内存管理-经典笔试题

目录

题目一:

题目二:

题目三:

题目四:


题目一:

结果:程序崩溃

原因:

1、函数是传值调用,出了函数p不存在,str未改变,依旧为空指针,运行时发生了对空指针的解引用操作,程序崩溃

2、malloc创建的空间依旧在,但丢失地址,造成内存泄漏

代码的修改:

版本一:传址调用

版本二:str接收地址

题目二:

结果:乱码

原因:

函数结束后,空间销毁,而返回局部变量或临时变量的地址: p,但是此时权限已经不属于str,str变成野指针

不可返回栈空间地址,否则非法访问

可返回栈空间的值,借助寄存器临时保存值

修改:

使用malloc函数开辟一块空间,在放入值,就可以正常访问了,因为malloc开辟的空间只有free函数释放后才算结束

题目三:

结果:可以打印出hello,但是存在内存泄漏的问题

修改:加上free释放空间

题目四:

结果:虽然可以正常输出,但是中途str已将被释放,成为野指针


http://www.mrgr.cn/news/7074.html

相关文章:

  • 《机器学习》—— 通过下采样方法实现逻辑回归分类问题
  • 嵌入式机器视觉的流水线分拣机器人:OpenCV、 FreeRTOS、 TensorFlow(代码详解)
  • 【全面指导】线性代数如何高效备考?选择哪本习题集?
  • vue3 集成 Sass
  • Python-基础-函数
  • “易碎”的留守农村人,都在被AI智能监控“兜住”
  • ELK日志系统
  • docker容器数据卷、数据卷基本案例
  • C# 一个队列两个线程,一个线程入,一个线程出,数据不一致的原因
  • 区间合并+并查集
  • linux增删用户
  • 蓝桥杯编程题讲解
  • linux中对.jar文件的配置文件进行修改
  • 发展数控教育机床提高制造创新能力
  • MS sqlserver备份软件 SQLBackupAndFTP
  • 问答泛单页目录站群通用程序——码山侠
  • 【全网行为管理解决方案】上网行为系统有哪些?
  • [运算放大器系列]四、PT100和热电偶采集电路分析
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十六)
  • 设计模式反模式及UML图示常见误用案例分析