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

C/C++ Q/A
[5876] Re:[헬프미] 구조체 값 가져오는거..ㅠ.ㅠ
외랑 [] 2430 읽음    2006-11-17 11:31
구조체 TEMP 는 A가 8 char, B가 8 char 해서 전체가 메모리에서 차지하는 공간은 총 8+8 = 16 char입니다.
그걸 1 char인 temp에다 넣으시면 t->A가 저장한 제일 처음값인 1 char만 대입되겠지요?
공간의 크기가 틀리다는 얘기지요.

16인승 버스에 탄 16명의 승객을 1인용 자전거에 다 태우시겠다는 말씀과 똑같습니다. 그러므로
젤 처음 승객만 1인용 자전거에 탈 수 있고, 나머지 15명의 승객은 ~~~
이해하시겠지요?

지금 하고자 하시는 일이 비트 연산에 상당히 적합합니다. 마치 16비트값을 상위 8비트 하위 8비트 나누어 비교하는 거죠.. 비트 연산자와 마스크 비트를 활용해서 하시는게 휠씬 적합한 듯합니다. 비트별로 구조체를 만드시는 것보다는...


초보펭귄 님이 쓰신 글 :
: : : :

구조체에 있는 값을 통채로 가져오는걸 몰겟어요.

:

구조체 선언(2중 구조체로..)은 아래와 같고, 이 구조체의 내부 구조체 변수 A의 변수가 a1~a8까지
8개 자나요..근데..이걸 A.a A.b 이런식으로 하나하나 값을 체크하는게 아니라..
통채로 A의 값은 뭐..이런식으로 체크할려면 어케해요?
저는

:

TEST t;
char temp;
temp = t->A;  // 이렇게하면 안되나요? 이러면 구조체 TEST안의 A구조체를 전체다 temp안에 넣는거 아닌가요? 주소값 말고..값이요..

:

그래서 만약. a1~a8이 전부 1로 설정되어있으면

:

제가 temp=11111111 이 되니까..이걸 체크하고 싶은거거든요..

:

 

:


typedef struct{
           struct{
                       char a1:1;
                       char a2:1;
                       char a3:1;
                       char a4:1;
                       char a5:1;
                       char a6:1;
                       char a7:1;
                       char a8:1;
                   }A;
             struct{
                       char b1:1;
                       char b2:1;
                       char b3:1;
                       char b4:1;
                       char b5:1;
                       char b6:1;
                       char b7:1;
                       char b8:1;
                   }B;
         
}TEST; 

:

 

:

 


+ -

관련 글 리스트
5860 [헬프미] 구조체 값 가져오는거..ㅠ.ㅠ 초보펭귄 2330 2006/11/08
5876     Re:[헬프미] 구조체 값 가져오는거..ㅠ.ㅠ 외랑 2430 2006/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.