지역배열변수 주소를 리턴해버리면 안되는 이유가
일반적인 정적배열은 스택에 만들기 때문이라던데,
지역배열변수를 힙으로 동적배열 만들고 주소를 리턴해버리면,
아무 문제 없나여?
물론 당연히 free memory 안하고요.
(free는 리턴받고 알아서 하겠지만.)
추가질문.
그렇다면,
배열변수 말고,
그냥 로컬로 단일객체변수를 스택말고 힙에다 만드는 방법은 있나여?
지역배열변수 주소를 리턴해버리면 안되는 이유가
일반적인 정적배열은 스택에 만들기 때문이라던데,
지역배열변수를 힙으로 동적배열 만들고 주소를 리턴해버리면,
아무 문제 없나여?
물론 당연히 free memory 안하고요.
(free는 리턴받고 알아서 하겠지만.)
추가질문.
그렇다면,
배열변수 말고,
그냥 로컬로 단일객체변수를 스택말고 힙에다 만드는 방법은 있나여?
하나 크기만큼만 동적할당하면 됩니다.
ㄴ 그냥 길이 1개짜리 배열 만들라는 말이죠? ㅠㅠ
음 그렇게 생각해도 당장에 별 문제 없겠지만 포인터를 로컬배열변수라고 생각하면 안되요. 포인터는 어떤 변수형태에 대한 주소값일 뿐. 고로 1개짜리 배열이 아니라 그냥 이 주소값에는 1개의 변수크기 메모리만 할당한거에요. 나중에 계속 하다보면 자연스럽게 개념이 와닿으실태지만...