쮸리 님이 쓰신 글 :
: 이번에 제가 c++ builder( 볼랜드) 소스를 VS에 옮기는 작업을 하는 중인데
: 아직 제가 초보라서요...
:
: int ReadCount = 528;
: short *buff = new short[ReadCount];
: c++ builder => buff = 40
: VS => buff = -12851
: 같은 구문인데 buff의 데이터값이 다르게 나오는 이유를 묻고 싶습니다.
: c++ builder 기준으로 맞추려면 어떻게 해야 하는 지도 묻고 싶습니다.
: 부탁드립니다.
:
결론적으로 말씀 드리면 맞출 수 없습니다.
맞출 수 없는 이유는 두 컴파일러간에 값을 동일하게 할수도 없을 뿐더러 할 필요도 없기 때문입니다.
초보라고 쓰신거 보니 질문의 의도가 잘못된 듯 합니다.
배열을 buff 라는 이름으로 동적생성 했고, 그 배열의 이름의 값이 틀리다고 질문하셨는데
배열의 이름은 buff[0] 의 주소값이 들어갑니다. 이 주소값은 배열을 동적생성 할때 마다 변할 수 있습니다.
물론 C 언어의 특성상 그 번지값을 임의의 번지로 할당할 수는 있겠지만 그렇게 했다가는 PC가 중간에 뻣어 버릴수도
있습니다.
다시한번 잘 훝어 보시고 질문의 요지가 뭔지 다시 생각해 보시고 질문을 다시 올리셔야 할 듯 합니다.
|