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

C++빌더 Q&A
C++Builder Programming Q&A
[17180] [만해] Union에 대해서
만해 [greenuri] 820 읽음    2002-04-03 18:53
안녕하세요 만해입니다.

typedef union DataWord__u    {
    struct {
            unsigned char Hi;
            unsigned char Lo;
        } Nibble;
          unsigned char Data[2];
         short int IData;
}    DataWord_u;
#pragma pack(pop)
typedef union DataFWord__u{
  struct {
    DataWord_u Hi;
    DataWord_u Lo;
    }Word;
    unsigned char Data[4];
    int  IData;
} DataFWord_u;

이렇게 정의되어 있는 상태에서요

DataFWord_U AWord;
FWord.Word.Hi.Nibble.Hi = 'a';
FWord.Word.Hi.Nibble.Lo = 'b';
FWord.Word.Lo.Nibble.Hi = 'c';
FWord.Word.Lo.Nibble.Lo = 'd';

이렇게 입력을 하고 난 후에

FWord.Data를 확인해 보면 'abcd0x40' 이런식으로

제가 원하는 값이 아닌 쓰레기 값이 있는 경우가 종종 생기는데요

이게 왜 이런지 모르겠네요

혹시나 해서

unsigned char 형으로 정의 된걸 싹다 char 형으로 바꿔 보기도 했는데 왜 이러는지 모르곘네요

고수님들의 도움 바랍니다.

+ -

관련 글 리스트
17180 [만해] Union에 대해서 만해 820 2002/04/03
17188     Re:[만해] Union에 대해서 개박살.U&I 813 2002/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.