스트럭쳐의 메모리 할당 단위.
글쓴이: ututlinux / 작성시간: 수, 2004/09/29 - 11:31오후
#include <stdio.h> struct A{ int a; char b; }; struct B{ struct A a; char b; }; main() { struct B *b; char c[20] = "ABCDEFGHIJK"; b = (struct B *)c; printf("%c \n", b->a.b); printf("%c \n", b->b); }
결과
E I
구조체를 메모리 잡을때 단위는 4의 배수로 잡는 것 같습니다.
(캐릭터 3개라도 4바이트로 잡고 캐릭터 5개면 8바이트로...)
위의 코드로는 사람 생각으로면 결과에서 I가 아니라 F가 나와야 하는 거 같은데.
실제 시스템에서는 그렇게 안되는 걸로 알고 있습니다.
제가 몰라서 안되는 건지 원래 불가능한지를 알고 싶습니다.
패킷의 내용을 찝어내야 하는데 저 부분에서 제가 만든 구조체에서 패킷을 몇개 점프를 해버리던데.
이거 정확이 쪽쪽 찝어낼수 있는 방법없는지요.
여러 고수님들의 고견 부탁드립니다.
Forums:
'패딩' 을 말씀하시는 것인가요?이 게시판에서 '패딩' 으로 검색해보
'패딩' 을 말씀하시는 것인가요?
이 게시판에서 '패딩' 으로 검색해보세요. :)
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
네! 그겁니다.
잘 찾아서 잘 보았습니다.
감사합니다.
댓글 달기