地平线社招嵌入式工程师面试题(含详细真实答案).docxVIP

  • 0
  • 0
  • 约4.65千字
  • 约 7页
  • 2026-09-02 发布于河北
  • 举报

地平线社招嵌入式工程师面试题(含详细真实答案).docx

地平线社招嵌入式工程师面试题(含详细真实答案)

一、C语言基础(必考基础,侧重嵌入式踩坑点)

1、static、const、volatile在嵌入式中的实际作用,分别举例场景

参考答案:

1)static:分两种用法。局部static变量,生命周期贯穿整个程序,只会初始化一次,嵌入式里常用在中断服务函数、循环采样函数中,保存上一次状态;全局static,限制作用域在当前.c文件,防止跨文件冲突,驱动开发中私有函数、全局变量基本都会加static。

2)const:修饰只读数据,编译阶段放入只读段,防止代码误修改。嵌入式中常用在硬件寄存器配置表、固件版本号、协议常量,同时能节省RAM空间。

3)volatile:强制CPU每次从内存读取数据,不使用寄存器缓存。核心场景是外设寄存器、全局中断变量、多线程共享变量。比如传感器寄存器值实时变化,不加volatile会被编译器优化,导致读取数据滞后、出错。

2、指针和引用的区别,嵌入式开发中为什么基本不用引用

参考答案:

区别:引用是变量别名,定义时必须初始化且无法更改指向,无内存开销;指针是独立变量,存储地址,可空、可改指向、可偏移。

嵌入式不用引用的核心原因:1)大量裸机、RTOS、Linux驱动场景用C语言,不支持引用;2)底层硬件操作、地址偏移、寄存器访问必须依赖指针,引用无法完成硬件寻址;3)引用无空值判断,底层开发容错性差,不

文档评论(0)

1亿VIP精品文档

相关文档