Почему большой локальный массив приводит к сбою моей программы, а глобальный - нет?

Программа с большим глобальным массивом:

int ar[2000000];

int main()
{
}

Программа с большим локальным массивом:

int main()
{
    int ar[2000000];
}

Когда я объявляю массив с большим размером в основной функции, программа вылетает с "SIGSEGV (Ошибка сегментации)".

Однако, когда я объявляю его глобальным, все работает нормально. Это почему?

Ответы на вопрос(1)

Ваш ответ на вопрос