c에서 사용자가 구조체를 잡으면 그러니깐 struct aaa{ char c; int b; }라고 하면 메모리에 5바이트 잡히죠.. 근데 o/s환경 땜시 워드 단위로 8바이트 잡힌다고 하던데.. 이개 맞나요... 혹시 이런 애기 들어 보신분 계시나요 그럼 sizeof(struct aaa)하면 몇 바이트 가 나오는개 정상이죠..
구조체 크기는 컴파일러가 정렬(alignment) 규칙에 맞춰 패딩을 넣어서 정해집니다. 32 비트 x86 에서 char 다음에 int 가 오면 int 를 4 바이트 경계에 맞추기 위해 3 바이트가 채워져 보통 8 바이트가 됩니다. sizeof 로 직접 확인하세요.