tigger97   4년 전

끝에 공백도 없애는 코드로 작생해주었는데 어디서 런타임 에러가 나는지 잘 모르겠네요.

https://ideone.com/qf4shP

정상적으로 출력도 잘 되는 것 같은데요

slah007   4년 전

8번 줄에서

a = (int**)malloc(n * sizeof(int)); 가 아니라

a = (int**)malloc(n * sizeof(int*)); 입니다.

N이 최소 할당 안에 들어갈정도로 작은 경우 괜찮지만, 충분히 큰 N이 들어오면 sizeof(int)=4이고 sizeof(int*)=8이므로 절반밖에 실제로 할당된 공간이 아니게 되어 RTE가 납니다.

개인적인 의견으로는, C++을 사용하신다면 배열은 정적할당으로 사용하시고 동적할당은 STL의 vector를 권장드립니다.

tigger97   4년 전

설명해주셔서 감사합니다.

그런데 최소할당이 어떤 것인가요?

댓글을 작성하려면 로그인해야 합니다.