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

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

這串代碼是申請了兩個'動態存儲空間'分別給p1和p2,還是只是申請一了段'動態存儲空間'將地址同時給了p1和p2

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

正在回答

4 回答

同一塊地址,p1=p2是為了讓p2保存p1的內容,好可以給p1賦予新的內存地址,而保證上一塊地址不會丟失

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

我的理解對于這串指令是:(struct weapon*)malloc(sizeof(struct weapon)),它是一個結構體指針 ?函數,我們都知道指針的本質是地址,同時malloc的作用是獲取內存,做個比喻的話,房子的門牌號和大小都確定下來了。p1,p2是指針變量,他們都指向房子的地址。記得老師說,p1是指向當前開辟的節點的地址,p2是指向上一個開辟節點的地址,那么當最開始的時候就只有一個地址,那么p1,p2都只指向第一個地址。這是我對這段代碼的理解,如果有誤,請大家指正,xiexie

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

qtw1998

你的理解我很贊同!
2017-12-05 回復 有任何疑惑可以回復我~

我同意后者,p1和p2同時保留了第一個申請的存儲空間首地址。

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

為什么不是

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

p2=的意義何在,它有什么用啊

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

舉報

0/150
提交
取消

這串代碼是申請了兩個'動態存儲空間'分別給p1和p2,還是只是申請一了段'動態存儲空間'將地址同時給了p1和p2

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

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

幫助反饋 APP下載

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

公眾號

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