m0_62942090 2021-12-06 18:15 采纳率: 0%
浏览 9

指针问题1234567897899

p1=&a与*p=n这两个等式相等吗
含义有什么不同吗
求指点

  • 写回答

1条回答 默认 最新

  • Xunlan_ 2021-12-06 18:21
    关注

    你这a和n是啥呀?
    p1=&a是把a的地址存到p1中
    *p=n是将p指向的地址中的值赋值为n
    二者最大的区别在于,前者存地址,后者存值:

    int a=123;
    int *p1 , *p2;
    p1=&a;
    *p2=a;
    a=456;
    printf("*p1=%d,*p2=%d\n",*p1,*p2);
    
    *p1=456,*p2=123
    

    由于p1存的是a的地址,所以a更改p1也更改
    而p2指向的是随便一个位置,这个位置的值被改成a,当a被更改时,这个位置不会改,可以这么理解:

    int a=123, *p2;
    int x=a;
    p2=&x;//当然,实际上p2是计算机随意分配的位置
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月6日

悬赏问题

  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估