我是C编程的新手,正在研究内存分配。我想看看如果数组中的元素多于数组的大小会发生什么。 例如:我用3作为数组大小初始化数组大小,但是我输入了4个值。我认为一定是错的。但是,我在编译代码时,一切似乎正常。 我不明白为什么会这样,我正在等待您的帮助。我的代码如下。谢谢。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *array;
int array_size = 3, i=0;
array = (int*) malloc ( sizeof(int) * array_size );
if(array == NULL)
printf("ERROR \n");
array[0] = 21;
array[1] = 22;
array[2] = 23;
array[3] = 24;
for ( i = 0; i < array_size+1 ; i++ )
printf("Value: %d , Address: %u \n", array[i], &array[i]);
free(array);
return 0;
}