C++ 동적할당 질문이요

바나나경비병의 이미지

int* n = new int;
cout << n << endl;
delete n;
 
char* name = new char[10];
cout << name << endl;
delete[] name;

여기서 n을 출력하면 n이 가르키는 주소값을 출력하는거 같은데
name을 출력할경우 쓰레기값이 나옵니다

제가 무엇을 잘못한건가요?

yukariko의 이미지

cout이 char형 포인터에 대해선 문자열로 출력하게끔 구현되었기 때문입니다.
name을 void * 같은거로 형변환 시켜서 출력해보시면 주소값이 뜨겠죠.

바나나경비병의 이미지

감사합니다