博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试中遇到的有趣的小问题
阅读量:4224 次
发布时间:2019-05-26

本文共 545 字,大约阅读时间需要 1 分钟。

频繁地malloc与free内存会有什么问题

频繁的malloc与free会造成内存碎片化的问题,从而无法进行大容量内存的分配,当然,有的库对此进行了优化,比如glibc,free掉的内存不会立即返还给操作系统,而是先给空闲内存链表,然后当再次进行malloc时会先从空闲内存链表中寻找合适的内存块。可以看看这个: 当然还可以使用内存池。

如下程序能否运行

demo.h

#include 
int main(

demo.cpp

){ printf("hello\n"); return 0;    }

答案是能运行,我们需要重新回忆一下C/C++的编译步骤,“首先是预处理阶段,这个阶段,编译器以C文件作为一个单元,首先读这个C文件,发现头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量, 函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个当前的C文件中,形成一个中间C文件”。到这里结果就很清楚了,程序为什么能编译执行

判断链表是否有环

很经典的一道题目,想到了一切好说,想不到就GG,别人已经总结得很好了,我就不再搬一次砖了,请参看:

转载地址:http://jigmi.baihongyu.com/

你可能感兴趣的文章
栈与队列的应用——计算表达式的值
查看>>
BFS——求矩阵中“块”的个数
查看>>
BFS——走迷宫的最小步数
查看>>
并查集——好朋友
查看>>
关键路径
查看>>
Web前端学习笔记——JavaScript之事件详解
查看>>
Web前端学习笔记——JavaScript之事件、创建元素、节点操作
查看>>
Web前端学习笔记——JavaScript之正则表达式、伪数组、垃圾回收
查看>>
Web前端学习笔记——JavaScript 之继承、函数进阶
查看>>
Web前端学习笔记——JavaScript之面向对象游戏案例:贪吃蛇
查看>>
不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例
查看>>
一种实用的联网汽车无线攻击方法及车载安全协议
查看>>
光靠欺骗检测是不够的:对抗多目标跟踪的攻击
查看>>
基于微区块链的V2X地理动态入侵检测
查看>>
面向V2C场景的ADAS数字孪生模型构建方法
查看>>
Comma2k19数据集使用
查看>>
面向自动驾驶车辆验证的抽象仿真场景生成
查看>>
一种应用于GPS反欺骗的基于MLE的RAIM改进方法
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>