嵌入式大厂面经 1(持续更新中!)
一、指针与内存管理
1. 野指针
面试题:什么是野指针?如何避免野指针?
答案解析:
- 野指针是指向无效内存地址的指针
- 产生原因:指针未初始化指针所指向的内存被释放指针超出变量作用域
避免方法:
// 1. 初始化时置NULL int* p = NULL; // 2. 释放后置NULL free(p); p = NULL; // 3. 使用前判断 if (p != NULL) { *p = 100; }
2. 内存泄漏
面试题:如何检测和防止内存泄漏?
答案解析:
- 内存泄漏:程序申请的内存在使用完后未释放
- 检测方法:使用valgrind工具代码审查内存统计
防止方案:
// 1. 配对使用malloc和free void* p = malloc(size); // 使用内存 free(p); // 2. 智能指针(C++) // 3. 资源获取即初始化(RAII)
3. 栈与堆
面试题:栈内存和堆内存的区别是什么?
更多内容全在下方专栏
全网最受欢迎的嵌入式笔试专栏
笔试专栏包含全部最新的笔试必考考点,非常适合在找工作面经薄弱的同学
3000+订阅还会涨价,提前订阅提前享受,持续更新中。
专栏链接:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk
#嵌入式测试,嵌入式开发##嵌入式笔面经分享##满分简历要如何准备?#