內(nèi)存分配不對。。。
老師,我這里str和st2在一起
$1 = (char (*)[6]) 0x7fffffffe660
(gdb) p &str2
$2 = (char **) 0x7fffffffe668
(gdb) p &str3
$3 = (char (*)[10]) 0x7fffffffe650
所以溢出的話 str2被修改,而str2不能被該,所以都會運行報錯。。如何讓str3和str1在一起?
老師,我這里str和st2在一起
$1 = (char (*)[6]) 0x7fffffffe660
(gdb) p &str2
$2 = (char **) 0x7fffffffe668
(gdb) p &str3
$3 = (char (*)[10]) 0x7fffffffe650
所以溢出的話 str2被修改,而str2不能被該,所以都會運行報錯。。如何讓str3和str1在一起?
2015-07-11
舉報
2016-05-25
str2
是*str2嗎
2015-12-19
你的str2是在數(shù)據(jù)段(
(gdb) p &str2
$2 = (char **) 0x7fffffffe668
),那就是可以修改的,代碼段才不能修改,至于誰和誰會連續(xù)分配在一起,這都是不可預(yù)料的,像你的str2就沒放在代碼段,不同的編譯器會有不同的優(yōu)化,只有數(shù)組才會確定連續(xù)分配在一起