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

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 【Hadoop 问题】Hadoop编译所遇问题hadoop-common: make failed with error code 2
  • ¥15 vb6.0+webbrowser无法加载某个网页求解
  • ¥15 RPA财务机器人采购付款流程
  • ¥15 计算机图形多边形及三次样条曲线绘制
  • ¥15 根据protues画的图用keil写程序
  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件
  • ¥15 逐月累计,月份不连续,补齐月份
  • ¥15 应用简单的Python代码完成一个学生成绩管理系统