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

来源:5-4 字符数组的深入理解

yuzhewo

2015-11-15 13:12

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

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

写回答 关注

1回答

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

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

Linux C语言指针与内存

指针-C语言的核心,代领大家对c语言有更加深刻的理解

116475 学习 · 250 问题

查看课程

相似问题