⚠️ 做完
第一批复习总结.md的全部 30 题后再翻开本文件对照。 每道题给答案 + 一句话解析,解析都指向对应主题页。
1.volatileint *const p 绑指针本身,*p 可改、p 不可改。→ 2.const3.static / 10.内存分配方式extern int x = 5; 带初始化是定义,会分配内存(extern + 初始化 = 定义)。→ 4.externPINT a, b; 展开成 int* a, b;,b 是 int(文本替换,* 只粘 a)。→ 5.define-vs-typedefsizeof 得指针大小(4/8),拿不到数组大小。→ 6.数组名-vs-指针 / 19.sizeof-vs-strlen*)。→ 7.数组指针-vs-指针数组9.野指针11.堆-vs-栈14.结构体对齐15.struct-vs-union14.结构体对齐0x44 存低地址,u.c = 0x44(不是 0x11)。→ 17.大小端21.原子操作22.内联函数~(1U << 3)(REG &= ~(1U<<3);)——清零必须取反掩码。→ 18.位操作宏&((REG >> 4) & 1;)——右移再与 1 取一位。→ 18.位操作宏19.sizeof-vs-strlen6.数组名-vs-指针14.结构体对齐17.大小端13.程序分段4.extern / 23.c-可执行程序13.程序分段17.大小端9.野指针str[0]='H' 是未定义行为(运行时崩溃);const 让编译器编译期拦截。→ 2.const12.内存泄漏-碎片REG = (REG & ~(0xF << 4)) | ((newVal & 0xF) << 4);——先清后置:清 bit4~7(保留其他),新值限宽+搬到目标位。→ 18.位操作宏char *p = NULL;(初始化三件套之一)。→ 9.野指针错题 > 3 道:回到对应主题页重学第 5 步变体验证。