运行下面代码片段后,$x$ 和 *p 的结果分别是( )。
int x = 20;
int* p = &x;
*p = *p + 2;答案D。指针变量存储的是内存地址。定义指针时必须指定指向的类型(如int*指向int)。nullptr表示空指针。
指针必须先初始化再使用。nullptr是空指针常量,不指向任何有效内存。解引用空指针导致崩溃。
【考点】指针基础|指针解引用|赋值操作
本题在《GESP 四级 C++ 大纲》"指针与引用"模块,属于四级必考核心。命题人卡住的是学生"指针到底改的是地址还是值"这一根本性混淆——四级阶段绝大多数人只背了"指针存地址",一遇到解引用赋值就懵。