文章目录
写在前面
最近帮学弟复盘了一场嵌入式软件开发岗的面试,发现很多看似简单的问题其实暗藏玄机!!!(特别是那些八股文式的问题)今天我就结合自己踩过的坑,给大家梳理20+高频考点和应对策略。建议收藏后反复观看,文末还有私藏的"反杀面试官"技巧哦~(笑)
一、C语言基础篇(必考!)
1. static在不同场景下的作用?
- 函数内部:延长局部变量生命周期(比如按键消抖计数器)
- 全局变量:限制作用域仅当前文件(避免多文件变量污染)
- 函数定义前:限制函数作用域(这个超多人答不全!)
2. volatile关键字存在的意义?
举个实际案例:
volatile uint32_t *reg = (uint32_t*)0x40000000;
while(*reg & 0x01); // 等待硬件标志位
没有volatile的话,编译器可能优化成死循环!!!(我实习时就因为这个bug通宵)
3. 结构体位域的实际应用场景?
比如CAN协议帧结构定义:
typedef struct {
uint32_t id : 29; // 标识符
uint32_t rtr : 1; // 远程帧标志
uint32_t ide : 1; // 扩展标识符

5894

被折叠的 条评论
为什么被折叠?



