작성
·
281
0
선생님의 풀이를 보면 매우 큰 배열 일때는 동적할당을 하고 100정도의 작은 배열에서는 정적할당을 하시던데 1000정도의 애매한 크기에서는 정적으로 선언할 떄도 있고 정적으로 선언할 떄도 있네요. 그리고 어떨 때는 전역으로 선언하고 어떤떄는 지역으로 선언하시던데 혹시 그 기준이 있으신가요?
답변 2
0
0
크기에 따라 동적할당을 이용할 지 선택하는건 코딩테스트(P.S)에서 중요한건 아닌거 같아요.
물론 C로 개발하게 된다면 중요한 문제가 될 수 있겠지만요.
C++에서는 stl::vector를 사용하시면 첫번째 고민은 해결되실 것 같고
배열을 전역으로 선언할 때 stack영역이 아닌 data 영역에 생성되기 때문에 훨씬 큰 용량을 가질 수 있어요.
main함수 안에 배열을 선언했을 때 배열의 크기가 크면 stack overflow가 발생하는 걸로 알고 있어요.
추가로 전역 영역에 배열을 선언하면 자동으로 초기화를 시켜주기 때문에 의도치 못한 쓰레기값도 피할 수 있어요.
저도 프로그래밍을 접한지 얼마 안되서 정확한 내용이 아닐 수 도 있지만 아는 내용 답글 달아봅니다