WhatIsYourName() 함수를 호출할 때마다 동적 메모리 할당을 통해 새롭게 메모리가 생성됩니다. 해당 함수가 끝나 제어가 main() 함수로 넘어가도 사용자가 입력한 이름이 저장된 메모리는 사라지지 않습니다.
main() 함수에서 더 이상 동적으로 할당 받은 메모리가 필요 없을 때는 free() 함수를 사용하여 메모리를 반환하면 됩니다.
그림 10-6 | 내가 필요할 때 동적으로 메모리 할당해서 사용
이렇게 메모리 생성과 소멸을 개발자가 직접 운영함으로써 문제가 해결되어 코드가 정상 수행되는 것을 확인할 수 있습니다.