HEAP -> 필요할대만 사용, 필요없으면 반낪 생성, 소멸시점 관리 동적 할당 : malloc, free / new, delete, /new[], delete[] //유저 영역 (메모장 or 게임)(독립적 실행) //커널영역 (운영체제의 핵심코드 실행) //유저 영역 [ ] malloc(sizeof(void ))를 통해 메모리 낭비 해결 ->메모리 할당 후 시작 주소를 가리키는 포인터를 반환 (메모리 부족시 NULL) void * ->포인터는 포인터, 포인터를 타고가면 뭐가 있는지 모르니깐 너가 적당히 변환해서 사용해라 -> Warrior *w1=(Warrior)ptr; w1->xx 처럼 할당 malloc/free 세트 ->free(ptr) 하지 않을 시에 메모리 누수 힙 오버 플로우->유효한 힙 범위..