嵌入式大厂面经 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

#嵌入式测试,嵌入式开发##嵌入式笔面经分享##满分简历要如何准备?#
全部评论

相关推荐

没有offer的瓦学弟:我去!这么晚还有HC?大佬,牛
投递字节跳动等公司7个岗位 腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务