목록동적할당 (2)
응애맘마조
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 동적할당 및 해제에 대해서는 https://keisukeaso.tistory.com/121 게시글을 참고해 주시면 됩니다. 댕글링 포인터는 허상 포인터라고도 하며 유효한 적절한 객체를 가리키고 있지 않은 포인터입니다. 이미 할당이 해제된 메모리를 가리키는 포인터가 댕글링 포인터라고 할 수 있습니다. 따라서 댕글링 포인터가 존재하면 전체적인 프로그래밍 진행에 문제가 될 수 있고 이러한 문제를 해결하기 위해서는 해제가 되었다면 NULL 값으로 초기화해 주는 거나 위에 적은 동적할당으로 해서 매개변수로 받거나 매크로를 사용하는 것이 좋습니다. 매크..
앞의 게시글의 지역변수, 전역변수는 메모리에 할당을 하고 함수를 빠져나갔을 때나 프로그램이 종료되었을 때 메모리가 해제되었습니다. 이번에 설명할 동적 할당은 다릅니다. 동적할당은 크기가 어느 정도인지 알기 어려울 때나 클 때 사용하고 (이미지 파일 등에 사용합니다.) 힙 영역에 저장이 됩니다. 사용 예시는 다음과 같습니다. 포인터로 변수 이름을 선언해 주고 new를 사용하여 할당해 줍니다. 동적 할당은 프로그래머가 필요할 때 메모리를 할당하고 해제할 수 있도록 해줍니다. 하지만 동적 할당은 프로그래머가 명시적으로 해제를 해줘야 하기 때문에 이렇게만 코드를 작성한다면 프로그램을 종료해도 메모리는 계속 할당이 되어 불필요한 메모리를 사용하게 됩니다. 해제하는 방법은 다음과 같습니다. 동적할당 된 변수 밑에 ..