課程
/后端開發(fā)
/C
/Linux C語言結(jié)構(gòu)體
p2=p1=(struct weapon*)malloc(sizeof(struct weapon));
2016-09-28
源自:Linux C語言結(jié)構(gòu)體 5-2
正在回答
同一塊地址,p1=p2是為了讓p2保存p1的內(nèi)容,好可以給p1賦予新的內(nèi)存地址,而保證上一塊地址不會丟失
我的理解對于這串指令是:(struct weapon*)malloc(sizeof(struct weapon)),它是一個結(jié)構(gòu)體指針 ?函數(shù),我們都知道指針的本質(zhì)是地址,同時malloc的作用是獲取內(nèi)存,做個比喻的話,房子的門牌號和大小都確定下來了。p1,p2是指針變量,他們都指向房子的地址。記得老師說,p1是指向當前開辟的節(jié)點的地址,p2是指向上一個開辟節(jié)點的地址,那么當最開始的時候就只有一個地址,那么p1,p2都只指向第一個地址。這是我對這段代碼的理解,如果有誤,請大家指正,xiexie
qtw1998
我同意后者,p1和p2同時保留了第一個申請的存儲空間首地址。
為什么不是
p1=(struct weapon*)malloc(sizeof(struct weapon));
p2=的意義何在,它有什么用啊
舉報
C語言的深入,幫助小伙伴們進一步的理解C語言,趕緊看過來
3 回答p2是一個只分配過一次內(nèi)存的存儲空間,每次都把p1往p2里寫不會覆蓋嗎?
2 回答為什么要讓p1賦給p2?
1 回答p1,p2本身不就是地址嗎?為什么還要取它們的地址來scanf賦值?
1 回答p1=p2=(struct weapon*)malloc(sizeof(struct weapon));//可以把p2=去掉嗎,p2=在這里有什么意義嗎.
2 回答我覺得循環(huán)中的p2->next應(yīng)該等于p1->next 為什么會是p2->next=p1有哪位大神看懂了能幫我解釋一下嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-10-06
同一塊地址,p1=p2是為了讓p2保存p1的內(nèi)容,好可以給p1賦予新的內(nèi)存地址,而保證上一塊地址不會丟失
2016-10-05
我的理解對于這串指令是:(struct weapon*)malloc(sizeof(struct weapon)),它是一個結(jié)構(gòu)體指針 ?函數(shù),我們都知道指針的本質(zhì)是地址,同時malloc的作用是獲取內(nèi)存,做個比喻的話,房子的門牌號和大小都確定下來了。p1,p2是指針變量,他們都指向房子的地址。記得老師說,p1是指向當前開辟的節(jié)點的地址,p2是指向上一個開辟節(jié)點的地址,那么當最開始的時候就只有一個地址,那么p1,p2都只指向第一個地址。這是我對這段代碼的理解,如果有誤,請大家指正,xiexie
2016-10-02
我同意后者,p1和p2同時保留了第一個申請的存儲空間首地址。
2016-09-28
為什么不是
p1=(struct weapon*)malloc(sizeof(struct weapon));
p2=的意義何在,它有什么用啊