|
안녕하십니까?
한꼬맹이 입니다.
요즘 나름대로 혼자서 작업하는게 있었어 한동안 이사이트에 들어오지 못했습니다.
이제 다시 자주 들어와야지...
우연히 버그잡다가 알게 되었는데...
struct Test
{
int i;
char c;
}aa;
sizeof(aa)=> 이값을 구해보면 당연히 5가 나와야 되는데...
제 컴에서 결과는 8이 나옵니다.
그리고 다른경우...
struct Test
{
double i;
char c;
}aa;
sizeof(aa)=> 이값을 구해보면 당연히 9가 나와야 되는데...
제 컴에서 결과는 16이 나옵니다.
위의 두가지 경우를 종합해 볼때 구조체 멥버중 제일 큰 변수형의 크기로
모든변수형의 크기로 동일시 생각해서 값을 산출하는 것 같군요...
그래서 다른 컴파일러 Visual C++, delphi에서도 똑같이 해봤는데..
결과는 위와 똑같았습니다. 그래서 제가 내린 최종결론은 운영체제의 오류라고
생각하고 패치까지 해봤는데.. 결과값이 아무 변화가 없더라구요..
제가 쓰는 운영체제는 Windows 2000 서버인데...
알고싶은것은 저와 똑같은 환경을 가지신 다른분들이 위의 에제를
테스트 해보시고 결과가 어떻게 나오는지 궁금하구요.. 그리고 만약 sizeof()의
값이 제대로 나오게 하려면 어케해야 할까요?..
|