內存分配不對。。。
老師,我這里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是在數據段(
(gdb) p &str2
$2 = (char **) 0x7fffffffe668
),那就是可以修改的,代碼段才不能修改,至于誰和誰會連續分配在一起,這都是不可預料的,像你的str2就沒放在代碼段,不同的編譯器會有不同的優化,只有數組才會確定連續分配在一起