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