| [ CnUnix ] in KIDS 글 쓴 이(By): guest (sajdlksajd) <203.248.46.2> 날 짜 (Date): 2002년 12월 17일 화요일 오후 04시 56분 54초 제 목(Title): 포인터질문하나더 C 라고 하니 질문할게 Pointer에 관련해서 엄청 쌓이는군요. char *p = new char; delete p; char *p = new char[0]; delete[] p; 일단 위의 두가지 코드들 ( 라인2 x 2)은 완전한것으로 알고 있습니다. char *p ; 라는것은 char Type의 어레이에서, 인덱스 0, 즉 제일 앞부분. 을 가리키는 sizeof(int) 크기를 가진 데이터 타입이라고 알고 있습니다 ( char *p 를 char* p 로 수정하겠습니다. 코드가 이상하게 보이는군요.) 그렇다면 위의 두가지 동작방식은 다른지 ( 실제메모리 구조의 변화)가 궁금 합니다. char*ㅁp = new char; 하면 어차피 char타입의 크기 0인 어레이의 첫번째 주소릴 p가 가리키게되는것인데, 이것은 의미상으로 char* p = new char[0]; 과 같지 않나요? 근데 왜 하나는 delete p; 하나는 delete[] p; 라고 써야하는지 궁금합니다 제가 잘못알고 있는것 있다면 지적해주시고, 더불어 궁금한것에 대한 고견 부탁드립니다 |