구조체 안에서 변수를 선언하게 되면
순차적으로 메모리 주소가 할당 된다고 알고 있고
또 계속 그렇게 써 왔는데 오늘 멘붕이 왔네요..
아래 예제를 보면
typedef struct{
U16 a; // 2000
U16 b; // 2002
U16 c; // 2004
U32 d; // 2006
U16 e; // 2010
U16 f; // 2012
}Sys;
sizeof(Sys) == 14
이런식의 순차적으로 메모리 주소가 할당 되어야 정상 아닌가요?
근데 이상하게 특정 라인에서 코딩을 하면
typedef struct{
U16 a; // 2000
U16 b; // 2002
U16 c; // 2004
U32 d; // 2008
U16 e; // 2012
U16 f; // 2014
}Sys;
sizeof(Sys) == 18
이런식으로 결과가 나오네요...
c를 sizeof 하면 2가 나옴에도 불구하고
d의 주소가 4칸뒤에 나오는지..
값들이 주루룩 밀려 버리네요...
미치겠습니다..
해결방법 없을까요 ㅠㅠ
이런식으로 할당이 디