GESP 四级 · GESP 202309 C++ 四级 第 16 题

判断题 · 答案 B

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

题目

在 C++ 语言中,指针变量在逻辑上指向另一个变量在内存中的位置,指针变量本身不占用内存。

答案:B

解题思维

这题考指针变量是否占内存。拿到题先想:指针是变量,变量定义时编译器就会给它分配存储空间来存地址,所以‘本身不占内存’绝对错,直接选B。

常见错误

很多初学者会混淆‘指针存的是地址’和‘指针不占内存’这两个概念,以为指针只是个逻辑箭头,不用空间。其实指针变量本身就是一个容器,用来存放内存地址,这个容器的大小就是地址的位数(32位环境占4字节,64位环境占8字节)。命题人专挑这种绝对化表述设坑,如果只记住‘指针存地址’却忽略‘地址也要存’,就会误选A。

详细解析(节选)

考点定位与命题视角

这道题考查的是指针变量与内存占用的关系。四级 C++ 新增了指针专题,命题人特意把‘指针存地址’的正确认知和‘指针不占内存’的错误直觉放在一起,就是要卡住初学者——大家容易把指针当成纯粹的逻辑箭头,忽略了它本质上也是一个变量,必须占用内存空间来存储那个地址值。

概念澄清:指针是什么?

指针变量是用来存储另一个变量内存地址的变量。定义指针时必须指定类型(如 int*),说明它将来存的是哪种数据的地址。关键点在于:指针变量本身也是一个变量。在计算机内存中,任何变量定义时编译器都会分配一块存储单元,这块单元的大小等于地址的位数。32 位系统下指针占 4 字节,64 位系统下占 8 字节。所以‘指针变量本身不占用内存’这句话从物理层面就是错的。

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