努力学习hhu 2024-02-29 18:15 采纳率: 50%
浏览 3

关于c++的问题,帮我看一下

img

能给我讲解一下怎么能看出来选什么,不太明白不知道p前加*或&是什么意思,能给我讲一下吗谢谢

  • 写回答

4条回答 默认 最新

  • Kwan的解忧杂货铺 2024-02-29 18:16
    关注

    努力学习hhu 晚上好🌙🌙🌙
    本答案参考通义千问

    在C++中,*&是两个不同的操作符,它们在指针变量中起着关键的作用。

    1. & 操作符(取地址符):

      • 当放在一个变量前时,&x 表示获取变量 x 的内存地址。这样做的目的是为了得到一个指向该变量的指针。
      • 在题目中的 int X, *p = &x; 这里,*p 就是指向 x 变量的指针,&xx 的地址,所以 *p 等同于 &x
    2. * 操作符(解引用符):

      • 当放在一个指针变量前时,*p 表示访问该指针所指向的内存位置上的值。比如,如果 p 指向 x,那么 *p 就会返回 x 的当前值。
      • 在题目中,int x, *p = &x; 如果我们想要访问 x 的值,而不是它的地址,我们应该使用 *p 而不是 p 自身。

    因此,对于题9.7,正确答案是 A. &x,因为 px 的地址,所以 *p 也是 x 的地址。

    对于题9.8,正确答案是 B. *p,因为 px 的地址,通过解引用 *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
    评论

报告相同问题?

问题事件

  • 创建了问题 2月29日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了