可能重复:
Writing to pointer out of bounds after malloc() not causing error我想在C明白的malloc()和realloc()
我想一个非常基本的计划,为的只有2数组分配内存ints
。我仅为内存分配了2个ints
,即array[0]
和array[1]
:为什么可以使用array[2]
并且它的工作正常?
#include <stdio.h>
int main(int argc, char *argv[])
{
int *array;
int i;
array = NULL;
array = malloc(sizeof(int)*2);
array[0] = 2;
array[1] = 3;
array[2] = 4;
for(i = 0; i<3 ; i++)
printf("%d\n", array[i]);
return 0;
}
输出:
2
3
4
是否有任何函数可以让我的'信号值'填充内存块? – parallelgeek 2012-08-16 18:29:03