>> Read Reply from No. 0 article  
RE: RE: RE: 구조체에 대한 메모리 할당, 그리고 sizeof()
연산자 . . .

등록 2001-06-06 01:13:00     조회 1
이름 Jala    

		: : 저도 자세한 건 잘모르는데요.
: :
: : 저도 전에 그 문제 땜에 좀 헤맸었죠.
: :
: : align 문제라고들 하데요.
: :
: : 제가 들은 답변으로는 int 가 시작하는 위치가 메모리상의 4의 배수의 위치에 있어야
: :
: : 한다는 군요. 따라서 그렇게 되게 padding 을 하게 되는거구요.
: :
: : 아마도 filed5 담에 padding 으로 2바이트가 들어갔을거예요.
: :
: : 실험해보세요. long 의 위치를 바꾸면 size도 달라집니다.
: :
: : : 네트웍으로 들어오는 스트림을 처리 하려구 10 바이트 구조체를 선언했습니다.
: : :
: : : struct tagPSIP_Table
: : : {
: : :     unsigned char    filed1;
: : :     unsigned short   filed2;
: : :     unsgined char    filed3;
: : :     unsigned char    filed4;
: : :     unsigned char    filed5;
: : :     unsigned long    filed6;
: : : };
: : :
: : : 이 구조체의 크기를 확인 해보니까 (sizeof()) 12 바이트를 반환 하더군요.
: : :
: : : 1 + 2 + 1 + 1 + 1 + 4 = 10 인데
: : :
: : : 12를 반환하는 이유와
: : :
: : : 10바이트가 되도록 만드는 방법을 알려 주시길 . . .
: :
: : --
: : 껌을 씹을 때는 조용히...
: 1+(1)+2+1+1+1+(1)+4 = 12입니다.
: long,int는 4의 배수로 시작해야 하고
: short는 2의 배수로 시작해야 합니다.
:
: 이건 compiler 와의 약속인데,
: 이렇게 하는 이유는 32bit CPU에서 memory access를
: 최소화 하기 위한것 입니다.
: ^^
 struct tagPSIP_Table
{
  unsigned char  fileds[10];
};
 이렇게 하시고 int 등을쓸땐 캐스팅해서 쓰시면 됨니다.
이름
암호


>> 관련글
  답장 RE: RE: 구조체에 대한 메모리 할당, 그리고 sizeof()연산자 . . .  조성석  2001.06.05  ....
  답장 RE: RE: RE: 구조체에 대한 메모리 할당, 그리고 sizeof()연산자 . . .  Jala  2001.06.06  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.37 초 ] 작업시간: [ 0.07 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789529514
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.