쉽게 말해서 main 메소드 내의 공간은 스택, 바깥을 힙이라고 보시면 됩니다.
IDE에서 스택 메모리 크기를 조절하실 수도 있고, 크기가 큰 경우 전역으로 main 바깥에서 선언해주시면(heap 공간에) 오류 메세지는 안 뜰거에요.
검색해서 조금 더 깊게 알아두시는게 좋을 것 같습니다.
그리고 이런 문제에서는 배열을 선언해서 저장하지 않고, 수를 하나씩 입력 받으면서 그 수랑 최대, 최소랑만 비교하면 100만 칸의 메모리 공간을 아낄 수 있겠죠?
lmg3111977 3년 전
코드자체는배열에 1백만넣었을때 통과입니다. 공지랑 다르게 이거는 코드문제가아니라 숫자자리가 백만이냐 십만이냐에따라서 왜 이런 오류코드가 뜨는지 모르겠습니당..
하지만 비주얼스튜디오에서는 1백만이넘자 int main(void)부분에서 main에 밑줄이 쳐지고 오류가뜹니다.
오류는 c6262함수에서 4000016바이트의 스택사용하는데 이 크기가 /analyze:stacksize '16384'를 초과합니다. 일부 데이터를 힙으로 이동하시오. 라고뜹니다.
그리고 main에도 밑줄처지지만 밑에 MIN = MAX = array[0];부분에 array부분에도 밑줄처집니다 ㅜㅜ
힙으로 이동하라는데 먼말인지모르겠습니다 ㅜㅜ 1백만일떈안되고 1십만일떄는 작동됩니다... 백만넘어가면 cmd창 켜졌다가 무반응후 꺼지네요..