C语言 | 高级C语言面试题
- 侧重于内存管理、指针、编译器行为、底层原理和编程实践。
C语言面试
-
-
- 一、核心概念与深度指针题
-
- 1. `const` 关键字的深度理解
- 2. volatile 关键字的作用
- 3. 复杂声明解析
- 二、内存管理
-
- 4. `malloc(0)` 的行为
- 5. 结构体内存对齐与大小计算
- 三、高级技巧与底层原理
-
- 6. setjmp() / longjmp() 的用途与风险
- 7. 指向不同数据类型的指针相互赋值的后果
- 四、综合分析与编程实践
-
- 8. 编写一个宏:计算数组元素个数
- 9. 分析代码:栈溢出与未定义行为
-
一、核心概念与深度指针题
1. const
关键字的深度理解
问题: 请解释以下声明的含义,并说明它们之间的区别:
const int *p;
int const *p;
int * const p;
const