동적 할당이 한번이라도 들어간 프로그램을 다루다보면,
메모리를 해지할때, 즉 free(...) 함수를 호출할때 예외가 발생하고 종료되는 경우를 겪어봤을 것이다.
주위의 사람들을 둘러보니
이럴때 대처 방식은 이랬다.
'그냥 메모리 해지 하지 말자'
but,,,,,,,, 메모리 관리는 철저히 관리되어야 한다.
적절한 곳에 free(...)를 호출했는데도 에러가 난다면,
이유는 다음과 같을 것으로 예상되니 확인해보길 바란다..
1) 동적할당할때 지정해준 사이즈를 확인한다.
2) memset(...) 함수를 사용했다면, 이때 지정해준 크기와, 동적할당시 지정해준 크기가 같은지 확인한다.
3) 동적할당된 변수를 사용할때 인덱스가, 범위를 벗어나서 사용하고 있지는 않은지 확인한다.
메모리를 해지할때, 즉 free(...) 함수를 호출할때 예외가 발생하고 종료되는 경우를 겪어봤을 것이다.
주위의 사람들을 둘러보니
이럴때 대처 방식은 이랬다.
'그냥 메모리 해지 하지 말자'
but,,,,,,,, 메모리 관리는 철저히 관리되어야 한다.
적절한 곳에 free(...)를 호출했는데도 에러가 난다면,
이유는 다음과 같을 것으로 예상되니 확인해보길 바란다..
1) 동적할당할때 지정해준 사이즈를 확인한다.
2) memset(...) 함수를 사용했다면, 이때 지정해준 크기와, 동적할당시 지정해준 크기가 같은지 확인한다.
3) 동적할당된 변수를 사용할때 인덱스가, 범위를 벗어나서 사용하고 있지는 않은지 확인한다.
'C Programming' 카테고리의 다른 글
| 구조체로 malloc 사용법 및 구조체의 사이즈 (0) | 2010.11.01 |
|---|