亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神解答

n++;

if(n==1){

head = p1;

}else{

p2->next = p1;

}

p2 = p1;

p1 = (struct weapon*)malloc(sizeof(struct weapon));

第一次 把 p1 賦值給head , head 沒有next? ,p1 賦值給了 p2;

第二次 把一個新的p1 賦值給了 p2->next = p1; p2 = p1;p2被賦值了兩次p2 和head是怎么聯系起來的

正在回答

1 回答

這是兩個問題,首先head在n=1的時候就把p1賦值給它,相當于head指向鏈頭;然后p2的兩次賦值含義不一樣,因為p2保存的是上一次的節點,p2->next=p1表示把上次保存節點的next指針指向這次分配的節點p1,p2=p1表示用p2把這次產生的節點p1保存起來。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Linux C語言結構體
  • 參與學習       118467    人
  • 解答問題       166    個

C語言的深入,幫助小伙伴們進一步的理解C語言,趕緊看過來

進入課程

求大神解答

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號