|
typedef struct
{
char im1;
WORD im3[10];
} TEST1;
typedef struct
{
char im1;
char im2;
WORD im3[10];
} TEST2;
sizeof(TEST1);
sizeof(TEST2);
의 결과가 의외네요.. 같습니다..
그리고
typedef struct
{
char im1;
WORD im3[10];
} TEST1;
typedef struct
{
char im1;
DWORD im3[10];
} TEST2;
sizeof(TEST1);
sizeof(TEST2);
의 결과 또한 의외네요.. char im1 에 할당되는 메모리 사이즈가 틀립니다.
대충 왜그런지 이해가 가지만.. 큰 버그를 프로그램에 심어 놓을뻔 했네요--;;
약간 복잡하게 메모리를 사용하는 루틴을 구현하다가
저 스스로를 믿지 못해 라인 단위의 검증을 거치는중에 발견한 사항이네요..
항상 sizeof 로 size를 구해 쓴다면 문제가 되지 않겠지만
size를 직접 계산해 사용하거나하면 큰일 나겠습니다 휴.. 다행이다..
다른 분들도 이 사항으로 안좋은 기억이 있으신가요?^^
|