| [ CnUnix ] in KIDS 글 쓴 이(By): guest (ajsdasdjsa) <203.248.46.2> 날 짜 (Date): 2002년 12월 18일 수요일 오후 01시 22분 35초 제 목(Title): Re: 포인터질문하나더 메모리의 구조가 정말 궁금합니다!! char *p = new char[10]; 하면 p[0] .... p[9] ,9다음하나더 이렇게 메모리를 할당하고 p가 p[0]를 가리키니, p[9]= *(p+sizeof(char)*9)가 되는건데 실제 delete[] p를 하게되면 일단, p[0]를 가리키는값이, p 자체이므로 p부터 해제하기 시작할거구요 [] 를 썼으니, 이게 어레이라는것으므로 사지으를 알아야하는데, delete 자체에는 사이즈를 따로 넘겨주는것이 없어요.. 그럼 그냥 언어 자체에서 사이즈가 10이었다는걸 기억하고 있다가 지워주는건가요 아니면 포인터가 어레이를 가리키고 있을경우, 어레이 제일 마지막에, \0 같은걸 넣어줘서 끝인걸 아는걸까요 char* p = new char; delete p;랑 char* p = new char[0]; delete[] p;의 차이는 아직도 여전히 궁금하군요 |