강의

멘토링

커뮤니티

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

lchung117님의 프로필 이미지
lchung117

작성한 질문수

홍정모의 따라하며 배우는 C언어

static 변수를 동적할당하면 free 해줘야 하나요?

작성

·

873

0

static 변수는 프로그램 종료시에 할당해제 되므로 따라 free를 안해줘도 상관없지만 malloc 과 같이 메모리를 할당하여 사용하면 메모리 누수 방지를 위해 free를 해줘야 하는걸로 알고 있습니다. 여기서 궁금한 점이 static 변수를 동적할당하면 그건 free 를 해줘야 하나요??

답변 1

1

홍정모님의 프로필 이미지
홍정모
지식공유자

static int * a = malloc(...);

이라면 a 자체는 static 이지만 a가 가리키는 메모리 공간은 힙이라서 당연히 free를 해줘야 합니다.

 

lchung117님의 프로필 이미지
lchung117
질문자

문제 풀던 중 이 부분에서 헷갈렸는데 완벽히 이해됐습니다 감사합니다

lchung117님의 프로필 이미지
lchung117

작성한 질문수

질문하기