Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12433] Re:포인터 형 변환에 대해서...
초보대왕 [sauron] 1782 읽음    2009-02-11 14:03
윈도우는 대개 리틀엔디안이기 때문이예요.
빅엔디안이라면 2 가 나왔을 겁니다.

이용태 님이 쓰신 글 :
: 아래 소스와 같이... char형 배열을 하니 생성하고... 거기에 값을 대입합니다.
:
:
: a[]의 값은
: a[0] = 0x00
: a[1] = 0x02
: 입니다.
:
: ShowMessage로 출력하면 0, 2 값이 출력됩니다.
:
: 그런데 이것을 short형 포인터로 변환해서 2바이트 값을 액세스 할려고 하는데요...
:
: short로 해서 값을 액세스 하면...
:
: 0x00 0x02 이므로 값이 2가 나와야 하는거 아니가요?
:
: 디버깅을 해보니까... 바이트 위치가 바뀌어서 값이 출력되더라구요
:
: 0x02 0x00 --> 512출력...
:
: 이거 왜 그런겁니까?
:
: 다른 포인터로 형 변환할경우 바이트 위치가 바뀝니까?
:
:
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:     char a[2];
:
:     memset(&a[0], 0x00, 1);
:     memset(&a[1], 0x02, 1);
:
:     ShowMessage(IntToStr(a[0]) + "-" + IntToStr(a[1])); //<------ "0-1" 출력
:
:     short *pData = NULL;
:
:     pData = (short*)a;
:
:     ShowMessage(IntToStr(pData[0])); //<------ "512"출력
:
:
: }
: //---------------------------------------------------------------------------

+ -

관련 글 리스트
12432 포인터 형 변환에 대해서... 이용태 2076 2009/02/11
12433     Re:포인터 형 변환에 대해서... 초보대왕 1782 2009/02/11
12437             Re:Re:Re:포인터 형 변환에 대해서... 초보대왕 1771 2009/02/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.