CVTE面试题 · C
CVTE相关面试题,按最终去重题目聚合。
共 1910 道真题 · 当前筛选命中 87 道 · 更新 2026-08-05
筛选题目已选:C
考察点
技术栈
第 1 题在C语言中,如果一个全局变量被声明为 const int = 5,然后程序里再次编写 int = 10; 会发生什么现象? 考察对常量限定符、变量重复定义及编译错误的把握第 2 题sizeof和strlen的区别是什么? 考察对C语言中编译期求值运算符与运行时库函数差异的理解第 3 题struct和union的区别了解吗? 考察对C语言中struct和union内存布局和用法的理解第 4 题函数指针和指针函数有什么区别? 考察对C语言中指针与函数组合的语法和语义理解第 5 题请用宏函数实现两个变量值的交换,且不使用临时变量。 考察宏定义的正确用法与对参数副作用的理解第 6 题请谈谈你对 C 语言中 malloc() 函数的理解,以及使用它时需要注意哪些问题? 考察对动态内存分配机制、内存管理与安全风险的掌握第 7 题如果你就是要对这个 float 进行移位操作,可以通过指针强转的方式来实现,请说明这种做法是否正确以及其风险。 考察对 C 语言类型强转、内存表示和未定义行为的理解第 8 题请描述C语言中内存管理的基本实现,包括堆和栈的分配方式。 考察对C语言内存布局和动态内存管理的理解第 9 题free一个指针再去访问他会有什么问题? 考察对动态内存管理、悬空指针和未定义行为的理解第 10 题中断函数有返回值吗 考察对嵌入式中断服务程序返回约定和职责划分的理解第 11 题请用 C 语言实现单链表的逆序(反转),要求不使用递归。 考察链表的指针操作能力、迭代算法设计与编码实现第 12 题请描述在C/C++中动态分配内存的常用方式及其区别。 考察对动态内存分配机制的理解和应用第 13 题数组与指针的区别 考察C语言中数组与指针的语义差异与常见误用第 14 题请对比 C++ 中 new 与 C 语言中 malloc 在内存分配上的区别。 考察对 C++ 与 C 内存分配机制差异的理解第 15 题请比较链表和数组在存储结构、插入删除、访问性能及适用场景上的差异。 考察对线性表两种基本实现的结构特性和复杂度分析第 16 题请解释memcpy的常见三层策略(指实现时可能采用的不同拷贝方法),并说明各层适用的场景。 考察对memcpy实现原理和性能优化的理解第 17 题手写实现字符串反转:要求判断异常字符,且只反转单词顺序,单词本身不反转,可用 C/C++ 实现。 考察字符串处理、边界判断与 C/C++ 语言基本功第 18 题请用 C++ 写出一个指针数组、一个数组指针,并说明引用的定义方式。 考察 C/C++ 中指针数组、数组指针与引用三类声明的基本语法与语义区分第 19 题请实现一个C语言排序函数,处理一个结构体数组,结构体包含变量A(用于去重)和变量B(用于排序),要求根据A去重后按B排序,限时15分钟。 考察C语言指针操作、排序算法实现及去重逻辑的综合能力第 20 题请说明C语言中const、extern、static关键字各自的作用。 考察对C语言关键字语义的理解和区分