电子/硬件开发面试题 · C
电子/硬件开发相关岗位面试题。
共 11335 道真题 · 当前筛选命中 494 道 · 更新 2026-08-05
筛选题目已选:C
考察点
技术栈
第 1 题请解释 malloc 的实现原理。 考察对动态内存分配底层机制的理解第 2 题对于字符串常量\"abcd\",sizeof(\"abcd\")和strlen(\"abcd\")分别返回什么?请解释原因。 考察C语言中sizeof与strlen对字符串常量的区别理解第 3 题请解释C语言中volatile关键字的作用和适用场景。 考察对volatile语义及其在并发/嵌入式场景中局限性的理解第 4 题const 修饰变量有什么作用? 考察 C/C++ 中 const 限定符对变量只读性的保证与边界第 5 题请描述一次你手动在堆上分配内存的经历,包括分配方式、生命周期管理以及可能遇到的问题。 考察对堆内存分配机制、资源管理和内存安全的理解第 6 题C语言中用到过哪些数据结构? 考察C语言中常见数据结构的掌握与理解第 7 题用RTOS创建变量和用C创建有什么区别? 考察对RTOS环境下全局变量与任务上下文关系的理解第 8 题如何判断大端小端? 考察对字节序概念、内存表示和编程验证方法的理解第 9 题在C语言中,如果一个全局变量被声明为 const int = 5,然后程序里再次编写 int = 10; 会发生什么现象? 考察对常量限定符、变量重复定义及编译错误的把握第 10 题请分别说明C语言中宏define、const和static各自的作用以及生效时机。 考察对编译期与运行期变量绑定机制的理解第 11 题请解释函数指针的概念、声明方式,并举例说明其常见用途。 考察对函数指针语法和实际应用的理解第 12 题动态链接库和静态链接库有什么区别? 考察对链接原理、库文件和程序构建方式的理解第 13 题给定一个以逗号分隔的纯数字字符串,请编写C代码,找到其中最大的数字并和第一个数字交换,最小的数字和最后一个数字交换,最后输出处理后的字符串。要求考虑时间和空间效率,并可以口述思路。 考察字符串解析、数值比较、交换和编程实现能力第 14 题C 语言的函数入参存放在哪里?所有入参都在栈上吗? 考察 C 函数调用约定、参数存储位置及体系结构差异的理解第 15 题C和C++有什么区别? 考察对面向对象、抽象机制和语言特性的理解第 16 题sizeof和strlen的区别是什么? 考察对C语言中编译期求值运算符与运行时库函数差异的理解第 17 题sizeof(1==1) 在 C 和 C++ 中分别是什么结果? 考察对 C/C++ 中 bool 类型与 sizeof 运算的理解第 18 题extern 关键字的作用是什么? 考察对 C/C++ 中 extern 关键字在声明、链接和作用域方面的理解第 19 题请详细解释 define 预处理器指令的语法、常见用法以及使用时的注意事项。 考察对 C/C++ 宏定义的理解、边界与常见陷阱第 20 题请解释指针数组和数组指针的区别,并说明如何声明一个指向包含10个char元素的数组的指针。 考察对指针与数组复合类型声明和语义的准确理解