Обясните мне, почему:
1.c:
#include <stdio.h>
int main() {
	int array[16000000];
	scanf("%d",&array[15999999]);
	return 0;
}2.c:
#include <stdio.h>
int array[16000000];
int main() {
	scanf("%d",&array[15999999]);
	return 0;
}3.c:
#include <stdio.h>
#include <stdlib.h>
int main() {
	int *array=malloc(16000000*sizeof(int));
	scanf("%d",&array[15999999]);
	free(array);
	return 0;
}./1.c.out - ошибка сегментирования
./2.c.out - работает
./3.c.out - работает
Это баг или фича?








