第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

結(jié)構(gòu)體里的變量a已經(jīng)被free釋放掉了,而test1的指針next卻還可以被訪問?

結(jié)構(gòu)體里的變量a已經(jīng)被free釋放掉了,而test1的指針next卻還可以被訪問?

PHP C
繁花如伊 2023-04-01 18:14:51
代碼如下:#include <stdio.h>#include <stdlib.h>struct test {int a;struct test *next;};int main(){struct test test0={10};struct test *test1 = (struct test *)malloc(sizeof(struct test));test1->a=20;test1->next = &test0;free(test1);printf("%d %d",test1->a,(*test1->next).a); }輸出test1->a為0 ,(*test1->next).a為10
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

只能說明你用的編譯器對(duì)free()的處理有漏洞。我這里編譯都通不過,刪除free(test1)就可以了,輸出是20 10。

查看完整回答
反對(duì) 回復(fù) 2023-04-03
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

對(duì)已釋放的地址進(jìn)行取值運(yùn)算是一種未定義行為,編譯器有可能會(huì)報(bào)錯(cuò),也有可能不報(bào)錯(cuò),但是你不能指望它能一直按你想的方式來運(yùn)行。
你這里之所以可以顯示為10,可以說是編譯器的”慈悲“吧

查看完整回答
反對(duì) 回復(fù) 2023-04-03
  • 2 回答
  • 0 關(guān)注
  • 200 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)