试题详情
- 简答题 下面三个程序运行时分别会产生什么结果?为什么?
-
程序1:系统运行崩溃。
原因:GetMemory(str,100)并没有将申请到的内存传回到调用程序,str一直是NULL,从而导致非法内存访问,使程序崩溃。
程序2:显示“Hello World.”,但将产生内存泄漏。
原因:GetMemory(&str,100)申请到的内存没有被释放。
程序3:显示“Hello World.”但有时系统运行异常。
原因:在free(str)释放内存空间后,str仍然指向原来空间地址,成为“野指针”。如果这时系统将所释放的空间分配给其他程序使用,将会造成系统运行异常。 关注下方微信公众号,在线模考后查看
热门试题
- 在UML2.0中定义了四种交互图,其中强
- 偶然内聚
- 只支持单重继承的程序设计语言有()
- 与UML配合最好的软件开发方法是()
- 主键的作用是保证()
- 李先生在公司的项目组中担任用户体验的角色
- 可维护性的软件应具备什么性质?
- 在数据流图中,每个加工至少有一个()和一
- 软件质量的定义是什么?
- 需求分析报告只有软件分析人员能看懂。
- 什么是软件开发环境?按技术发展方向分为哪
- 某大学准备开发一个新的学生注册选课系统,
- 在具有n个元素的顺序存储结构的线性表中,
- 管理费用
- 面向对象分析中建立的三大模型是什么?有何
- 由变换型数据流图转换成模块结构图,其中包
- 风险的三种主要类型是()。
- 下列能减少支援性维护活动的有()
- 一家工厂的采购部每天需要一张订货报表,
- 任务的进度如果同时发生在工作时间和非工作