假设整数数组 arr[4] = {0, 1, 2, 3}; 的第一个元素在内存中的地址为 0x7ffee4065820,经过 int* p = arr; p += 1; 后,指针 p 的值是 1。
答案B。二进制转十进制:整数部分按权展开,小数部分乘以2的负幂次。
二进制小数转十进制:小数点后第一位是2⁻¹=0.5,第二位是2⁻²=0.25。容易忽略负幂次。
【考点】指针算术|数组与指针关系|内存寻址
GESP 四级 C++ 大纲的"基础语法与内存模型"模块,对应第 6-8 级知识点。命题人卡住的是指针本质认知——绝大多数考生把指针当成"整数"而非"地址",以为 p+=1 就是把指针值赋为 1,完全没理解指针算术是地址偏移。