问答详情
源自:5-4 字符数组的深入理解

地址分配跟老师说的不一样,是系统问题吗?

(gdb) p &str
$6 = (char (*)[6]) 0x7fffffffe130
(gdb) p &str2
$7 = (char **) 0x7fffffffe138
(gdb) p &str3
$8 = (char (*)[6]) 0x7fffffffe120

为什么我试验的结果是,str3内存地址最小,str次之,str2在最后,字符数组越界之后又到了str2里面,提示段错误?

提问者:yuzhewo 2015-11-15 13:12

个回答

  • 洪一帆
    2015-12-19 13:39:34

    不同编译器优化会不同,不必强求跟老师一样,你的str2就没放在代码段,这是编译器优化不同