C Language Basic
C Language [핵심정리] - 12 + ∂
cCcode
2021. 5. 17. 22:51
1. _msize 함수 사용시 주의점
일단 _msize (heap에 할당된 메모리 크기 구하는) 함수는 visual studio라는 컴파일러에서만 제공하므로 다른 환경에서 사용할 수 없음을 미리 알려드립니다.
전 글에 있던 _msize 함수라는 제목의 사진을 보시면
초록색 밑줄이 있는거 보이시나요?
저 밑줄은 [C6387: numPtr2가 0일 수 있습니다, 이 경우 _msize 함수의 사양과 일치하지 않습니다]라는 경고 때문에 생긴겁니다. 이 경고는 제가 예외처리를 해주지 않아서 발생한거고요. 그럼 빠르게 예외처리한 코드를 보겠습니다.
이처럼 해당 포인터에 NULL 그러니까 아무것도 들어있지 않은 NULL Pointer를 반환하는 경우 goto 구문을 사용해 메모리 해제후 프로그램을 종료하도록 설계했습니다. 해당 포인터가 NULL Pointer를 반환하지 않는 경우에는 해당 크기를 출력하도록 했고요. 이처럼 동적할당을 할 때는 예외처리를 해줘야 하는 부분이 존재합니다.
이상입니다.