明烨海海 2016-03-21 06:29 采纳率: 50%
浏览 1331
已采纳

c语言中为什么这样赋值后,两个却一样

#include
#include
typedef struct HH
{
int i;
int j;
struct HH *next;
}HH;

void changeV(HH *p)
{
HH tt;
tt.i=6;
tt.j=2;
tt.next=&p[0];
p[0]=tt;
//tmp->i=1;
//tmp->j=2;
//tmp->next=NULL;
//p[0]=tmp;

}
int main()
{
HH h[5];
for(int i=0;i<5;i++)
{
h[i].i=0;
h[i].j=0;
h[i].next=NULL;
}
changeV(h);
printf("%d\n",h[0].next);
printf("%d\n",&h[0]);
//结果
//-1904858288
//-1904858288

return 0;
}


  • 写回答

1条回答

  • 小灸舞 2016-03-21 06:38
    关注

    tt.next=&p[0]; //将tt的next指针指向p[0]的地址
    p[0]=tt; //将tt赋值给p[0],此时p[0].i=6,p[0].j=2,p[0].next=&p[0]
    然后执行printf("%p\n",h[0].next); //h[0].next就是&p[0],所以两句打印的是一样的(打印地址应该用%p)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题