GESP 四级 · GESP 202512 C++ 四级 第 4 题

选择题 · 答案 D

← 整套速查表 GESP 四级 全部真题

题目

执行完下面的代码后,*(p + 5) 和 arr[1][1] 的值分别是( )。

int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int* p = &arr[0][0];
答案:D

解题思维

答案D。指针变量存储的是内存地址。定义指针时必须指定指向的类型(如int*指向int)。nullptr表示空指针。

常见错误

指针必须先初始化再使用。nullptr是空指针常量,不指向任何有效内存。解引用空指针导致崩溃。

详细解析(节选)

【考点】数组内存布局|指针运算|二维数组下标映射

1. 🎯 考纲定位

本题考查GESP四级C++数组与指针综合应用。命题人卡住的是学生"二维数组在内存中是行优先连续存储"这一底层认知——多数考生习惯用数学坐标思维,误以为arr[1][1]与arr[0][2]距离相等,完全忽略编译器实际布局。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断