m0_66394588 2022-06-01 17:11 采纳率: 91.5%
浏览 36

p=&x;和*p=10;这两行应该怎么理解,我想不通的是我个人理解应该是x先被赋值最后才能够输出,但是这串代码是将后赋值的指针的值进行输出

#include  <stdio.h>
void main()
{
    int x,*p;
    p=&x;
    *p=10;
    printf("%d\n",x);
}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-06-01 17:32
    关注

    供参考:

    #include  <stdio.h>
    void main()
    {
        int x, * p; //定义了两个变量,x  p 在内存划出一块空间,都有固定的地址
        p = &x;    //将变量 x 的地址值赋值给 指针 p
        *p = 10;   // *p解引用,这句等价于 x = 10;  
        printf("%d\n", x);
    }
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 6月1日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 mac系统控制台运行npm run serve没问题但是配置文件不识别serve脚本
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬