问答详情
源自:5-1 数组申明的内存排列

数组的定义

int array[2];

这不应该是定义一个长度为2的数组么 为什么有 第三个数组元素 array[2] 的赋值?

提问者:rhythm0 2016-10-16 15:24

个回答

  • z3phyr
    2016-10-31 17:49:33

    但是这种写法肯定是有问题的,也不一定能保证没每次都正常

  • z3phyr
    2016-10-31 17:48:28

    在windows编译了也是正常的。定义array的时候可以理解为一个静态指针,array[2]是指针向后偏移两个位置的的地址,如果这个地址刚好可以写入数据的话。那么运行结果自然也是正确的。

  • 慕勒7123956
    2016-10-16 20:53:42

    我也觉得很奇怪,难道是linux下面不会内存溢出吗