AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第131题 (1.0分) 题号:705 若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。

A
 a,point,*&a
B
 &*a,&a,*point
C
 *&point,*point,&a
D
 &a,&*point,point

答案解析

正确答案:D

解析:

这是一道关于 C 语言指针基础概念的题目,主要考察对**变量值**、**地址**、**指针变量**以及**取地址运算符(&)**和**解引用运算符(*)**的理解。 ### 1. 题目分析 已知条件: ```c int *point, a = 4; point = &a; ``` * `a` 是一个整型变量,值为 4。 * `point` 是一个整型指针变量,它存储的是变量 `a` 的地址。即 `point` 的值等于 `&a`。 * `&a` 表示变量 `a` 在内存中的地址。 * `*point` 表示访问指针 `point` 指向的内存单元的值,即 `a` 的值(也就是 4)。 我们需要找出**所有项都代表地址**的选项。 ### 2. 逐项解析 **A. `a`, `point`, `*&a`** * `a`:这是变量 `a` 的**值**(即 4),不是地址。 * `point`:这是指针变量,其内容是 `a` 的**地址**。 * `*&a`:`&a` 是 `a` 的地址,`*` 对地址进行解引用,得到的是该地址处的值,即 `a` 的**值**(4)。 * **结论**:包含非地址项,错误。 **B. `&*a`, `&a`, `*point`** * `&*a`:这个表达式在语法上通常是错误的或者无意义的,因为 `a` 是 `int` 类型,不能直接对非指针类型使用 `*` 解引用运算符(除非强制转换,但这里显然不是)。即使假设某种上下文,`*point` 也是关键判断点。 * `&a`:这是 `a` 的**地址**。 * `*point`:`point` 指向 `a`,所以 `*point` 等价于 `a`,即 `a` 的**值**(4),不是地址。 * **结论**:包含非地址项,错误。 **C. `*&point`, `*point`, `&a`** * `*&point`:`point` 本身是一个地址值(指针),`*` 解引用会得到指针指向的内容吗?不,这里要注意运算顺序和类型。`point` 是指针变量,`&point` 是指针变量本身的地址。`*&point` 等价于 `point`,即 `a` 的**地址**。 * *更正理解*:通常 `*&x` 等价于 `x`。所以 `*&point` 等价于 `point`,即 `a` 的地址。 * `*point`:如前所述,等价于 `a`,是 `a` 的**值**(4),不是地址。 * `&a`:这是 `a` 的**地址**。 * **结论**:`*point` 是值而不是地址,错误。 **D. `&a`, `&*point`, `point`** * `&a`:取变量 `a` 的地址,结果是**地址**。 * `&*point`: 1. `*point`:解引用指针 `point`,得到的是 `point` 指向的变量,即变量 `a`。 2. `&(*point)`:对变量 `a` 取地址,即 `&a`。 3. 所以 `&*point` 等价于 `&a`,结果是**地址**。 * `point`:指针变量 `point` 中存储的就是 `a` 的地址,所以它代表**地址**。 * **结论**:三项均代表地址,正确。 ### 3. 最终答案 综上所述,只有选项 D 中的所有表达式均代表内存地址。 **正确答案:D**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码