http://www.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_qna&no=651
제가 얼마전에 썻던 글입니다.
태윤님이 말씀하신
: int a=100;
: int*b=(int*)100;
: int**c=(int**)100;
: int***d=(int***)100;
:
: 위와 같이 코딩 해보면 에러없이 모두 메모리상의 어떤 번지에 100 이라는 숫자가 저장되지요.
이부분을 그 당시에도 이해를 못하고 넘어갔었습니다.
나중에 생각하기를 변수가 아니니까 형변환이란 개념이 적용이 될수 없다고 생각하고
컴파일 에러가 안나는것은 컴파일러의 융통성이거나 정확하지 않거나 둘중 하나라고 넘기고 있습니다.
근데 태윤님이 이렇게 의미(제가 생각하는 의미와는 조금 다릅니다만)가 있다고 말씀하셔서 이래저래 해봤습니다만 잘 모르겠네요...
이부분을 어떻게 확인해봐야할지...
: int e;
: e=(int)&d;
: printf("%d",e); 나 printf("%p",d);
이부분은 참 흥미롭습니다.
이부분도 찍어보고 확인해보고 싶은데 잘 안되네요...
예제를 좀 주셨으면 좋겠습니다.
|