嵌入式大厂面经 4(持续更新中!)
这是一个嵌入式大厂面试题专栏,每天更新高频面试题。专栏将包含题目描述、详细解析、相关知识点扩展以及实际代码示例。内容涵盖操作系统、驱动开发、通信协议等核心领域,并结合实际项目经验进行分析。每道题目都会附带面试官可能的追问方向,帮助大家更好地准备面试!
1. 指针的大小
- 指针大小与系统架构相关,而不是与指向的数据类型相关
- 32位系统:所有指针都是4字节
- 64位系统:所有指针都是8字节
示例代码:
void testPointerSize(void) { char *p1; int *p2; double *p3; void *p4; int (*p5)(int); // 函数指针 printf("char*: %d\n", sizeof(p1)); // 32位系统为4,64位为8 printf("int*: %d\n", sizeof(p2)); // 同上 printf("double*: %d\n", sizeof(p3)); // 同上 printf("void*: %d\n", sizeof(p4)); // 同上 printf("function*: %d\n", sizeof(p5)); // 同上 }
2. 函数指针和指针函数
函数指针
- 指向函数的指针
- 用于回调函数、函数表等场景
// 函数指针示例 typedef int (*Operation)(int, int); // 定义函数指针类型 int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; } void testFunctionPointer(void) { Operation op = add; // 函数指针指向add函数
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式面试八股文全集 文章被收录于专栏
这是一个全面的嵌入式面试专栏。主要内容将包括:操作系统(进程管理、内存管理、文件系统等)、嵌入式系统(启动流程、驱动开发、中断管理等)、网络通信(TCP/IP协议栈、Socket编程等)、开发工具(交叉编译、调试工具等)以及实际项目经验分享。专栏将采用理论结合实践的方式,每个知识点都会附带相关的面试真题和答案解析。