int* n = new int; cout << n << endl; delete n; char* name = new char[10]; cout << name << endl; delete[] name;
여기서 n을 출력하면 n이 가르키는 주소값을 출력하는거 같은데 name을 출력할경우 쓰레기값이 나옵니다
제가 무엇을 잘못한건가요?
cout이 char형 포인터에 대해선 문자열로 출력하게끔 구현되었기 때문입니다. name을 void * 같은거로 형변환 시켜서 출력해보시면 주소값이 뜨겠죠.
감사합니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
cout이 char형 포인터에 대해선 문자열로
cout이 char형 포인터에 대해선 문자열로 출력하게끔 구현되었기 때문입니다.
name을 void * 같은거로 형변환 시켜서 출력해보시면 주소값이 뜨겠죠.
아 그렇군요
감사합니다
댓글 달기