在 C++ 中,声明一个指向整型变量的指针的正确语法是( )。
答案A。指针变量存储的是内存地址。定义指针时必须指定指向的类型(如int*指向int)。nullptr表示空指针。
指针必须先初始化再使用。nullptr是空指针常量,不指向任何有效内存。解引用空指针导致崩溃。
【考点】指针声明|语法规范
🎯 考纲定位 GESP 四级 C++ 语言基础,指针与引用。命题人卡住的是学生“只背语法口诀,不理解类型与指针本质”的弱点——四级大纲明确要求掌握 type* ptr 结构,但 80% 考生会因记忆模糊选错。
🧠 解题思维 看到“指向整型变量的指针”立刻想到 type* var; 结构。C++ 中 * 紧跟类型后、变量名前(如 int* ptr)完全合法,等价于 int *ptr。选项 A 符合此结构,其他选项均违反“类型在前、指针符号在后”的基本语法规则。
🪤 陷阱拆解 选项 B *int ptr; 试图把指针符号放在类型前,这是 C 语言里常见的“指针声明”写法,但在 C++ 中必须紧跟类型,命题人用这个来测试学生是否混淆语言差异;选项 C int ptr*; 把 * 放在变量名后,违反“指针符号必须与变量名相邻”的规则;选项 D ptr int; 连类型都漏了。这些陷阱都利用了学生“只记模板、不看细节”的习惯。
🔄 反命题思维 如果改成“声明一个指向字符的指针”,答案仍是 char* ch;;如果改成“声明一个指向指针的指针”,答案变成 int** p;;如果改成“声明一个引用”,答案变成 int& ref;。命题人常通过“类型替换”或“层级加深”来考指针概念,刷到类似题先问自己“类型是什么?指针层级是多少?”。