강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박우림님의 프로필 이미지
박우림

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

22. 온도의 최댓값 (1차원 배열 구간합 : 제한시간 1초)

배열 동적할당 질문

작성

·

258

1

저는 그동안 

int n;

scanf("%d", &n);

int arr[n]; 

이런식으로 배열의 크기를 동적할당해서 사용했는데,  c언어에서는 이렇게 사용하면 안되는 거였나요? 

사용해보니까 되길래 이렇게 계속 썼는데...

 

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

우림님 코드처럼  동적할당을 하면 컴파일러에 따라 런타임에러를 내기도 합니다.     int *arr=new int[n]  로 new 연산자를 써서 동적으로 할당받아 하면 좋을 것 같습니다.  동적할당 해제는 delete[] arr; 하면 할당이 해제됩니다. 아니면 vector 컨테이너를 쓰셔도 되구요. 요즘은 배열을 쓰지 않고 벡터를 쓰는 경향이 있습니다.

박우림님의 프로필 이미지
박우림

작성한 질문수

질문하기