能给我讲解一下怎么能看出来选什么,不太明白不知道p前加*或&是什么意思,能给我讲一下吗谢谢
4条回答 默认 最新
- Kwan的解忧杂货铺 2024-02-29 18:16关注
努力学习hhu 晚上好🌙🌙🌙
本答案参考通义千问在C++中,
*
和&
是两个不同的操作符,它们在指针变量中起着关键的作用。-
&
操作符(取地址符):- 当放在一个变量前时,
&x
表示获取变量x
的内存地址。这样做的目的是为了得到一个指向该变量的指针。 - 在题目中的
int X, *p = &x;
这里,*p
就是指向x
变量的指针,&x
是x
的地址,所以*p
等同于&x
。
- 当放在一个变量前时,
-
*
操作符(解引用符):- 当放在一个指针变量前时,
*p
表示访问该指针所指向的内存位置上的值。比如,如果p
指向x
,那么*p
就会返回x
的当前值。 - 在题目中,
int x, *p = &x;
如果我们想要访问x
的值,而不是它的地址,我们应该使用*p
而不是p
自身。
- 当放在一个指针变量前时,
因此,对于题9.7,正确答案是 A. &x,因为
p
是x
的地址,所以*p
也是x
的地址。对于题9.8,正确答案是 B. *p,因为
p
是x
的地址,通过解引用*p
,我们可以直接访问x
的值。总结:
*p
表示p
指向的值(如果p
是指针)&x
表示x
的地址
代码示例(虽然这不是C++代码,但可以帮助理解):
# 假设有一个变量 x x = 10 # 创建一个指向 x 的指针 p p = &x # 解引用 p 来获取 x 的值 value = *p # value 现在等于 10 # 获取 x 的地址 address = &x # address 现在指向 x 的内存位置
所以,选择题的答案是:
- 题9.7: A. &x
- 题9.8: B. *p
解决 无用评论 打赏 举报 -
悬赏问题
- ¥30 电脑误删了手机的照片怎么恢复?
- ¥15 (标签-python|关键词-char)
- ¥15 python+selenium,在新增时弹出了一个输入框
- ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
- ¥20 学生成绩管理系统设计
- ¥15 来一个cc穿盾脚本开发者
- ¥15 CST2023安装报错
- ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
- ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
- ¥20 firefly-rk3399上启动卡住了