CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ 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; 라고 써야하는지 궁금합니다

 제가 잘못알고 있는것 있다면 지적해주시고, 더불어 궁금한것에 대한

 고견 부탁드립니다

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.