嵌入式笔试(第15天)
1. static 关键字有什么用?
✅ 解析:
在 C/C++ 中,static
有多种用途:
- 函数内部变量:延长变量生命周期,值在函数退出后仍然保留。
- 文件作用域变量/函数:限制变量/函数的作用域仅在当前源文件中,避免与其他文件同名冲突。
- 类静态成员(C++):属于整个类,而不是某个对象,可通过类名访问。
示例:
void func() { static int count = 0; count++; printf("%d\n", count); }
2. 静态链接和动态链接有什么区别?
✅ 解析:
链接时机 |
编译时 |
程序运行时 |
占用空间 |
文件大,库内容嵌入可执行文件中 |
文件小,运行时共享动态库 |
更新方式 |
更新库需重新编译应用程序 |
直接替换动态库即可 |
依赖性 |
不依赖外部库文件 |
需依赖共享库 |
3. 写出 int、bool、float、指针变量与“零值”比较的 if 语句。
✅ 示例:
int a = 0; bool b = false; float f = 0.0f; char *p = NULL; if (a == 0) { } if (!b) { } if (f == 0.0f) { } if (p == NULL) { }
4. sizeof 和 strlen 的区别?
✅ 解析:
sizeof
:编译时运算,返回字节数,包括字符串中的\0
。strlen
:运行时计算,返回字符串实际字符长度,不包括\0
。
示例:
char str[
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。