정적 메모리 할당의 한계 컴파일러의 설정을 변경하지 않았다면 프로세스 안에서 지역 변수가 저장되는 기본 스택 메모리 크기는 1Mbyte이다. 따라서 함수를 호출할 때 지역 변수가 할당되는 메모리 공간은 최대 1Mbyte를 넘을 수 없다. 예를 들어 char data[1024 * 1024]; 와 같이 배열을 선언하면 스택에 1Mbyte가 할당되기 때문에 오류가 발생한다. 그렇다면 스택의 크기는 어떻게 계산할까? 함수가 호출되는 여부나 횟수를 미리 파악할 수 없기 때문에 프로그램이 사용할 전체 스택의 크기는 단순히 각 함수에 선언한 지역 변수의 크기를 합산해서 예측할 수는 없다. 이 말은 실제로 프로그램이 실행되어 함수가 호출될 때까지 스택 크기를 예측하기 어렵다는 뜻이다. 결국 스택의 실제 크기는 프로그램..