게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
본삭금]] c언어 union 관련 질문입니다.
게시물ID : programmer_7073짧은주소 복사하기
작성자 : 라페밀리
추천 : 0
조회수 : 576회
댓글수 : 2개
등록시간 : 2014/12/11 17:28:01
옵션
  • 베스트금지
  • 본인삭제금지
구글링에서 못 찾아서 질문을 남겨봅니다.

어찌보면 참 쉬운 내용인데 이러한 문법이 존재하는지 몰라서 질문을 남겨봅니다.

C언어 union 관련에서

4바이트에서 각각 상위 2바이트 하위 2바이트를 양의 정수로 출력하는 것을 하고자 했을 때

typedef struct dbshort
{
unsigned short upper;
unsigned short lower;
} DBshort;

typedef union rdbuf
{
 int iBuf;
char bBuf[4];
DBshort sBuf;
} RDBuf;
라고 해서

결론적으로
RDBuf buf;라는 변수를 만들고
buf.sBuf.upper
buf.sBuf.lower를 통해서

각각 상위 하위를 구분해서 출력하는데요
저 상태가 struct라서 2바이트 2개가 묶여있어서 각각 상위 하위 2바이트씩 차지하는건가요?

만약 union에서 short형을 2개 한다면 같은 값이 나오겠죠?

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호