-
구조체의 패딩에 대해서...Computer Language/C 2007. 3. 26. 17:01728x90struct
{
char a;
int b;
char c;
double d;
char e;
} A;
printf("%d", sizeof(A));
자 다음 프로그램의 결과는 어떻게 될까요??
char형 세개에 int형 하나, double형 하나면 15바이트가 되겠죠??
하지만 visual c++컴파일러에서는 데이타블록을 4byte로 할당합니다.
즉 위 구조체는
struct
{
char a; //4Byte
int b; //4Byte
char c; //8Byte <- double형에 대해 데이터 블록을 맞추기 위해 8Byte로 할당됩니다.
double d; //8Byte
char e; //8byte;
} A;
이렇게 할당하게 됩니다~^^'Computer Language > C' 카테고리의 다른 글
포인터로 함수 호출하기 (0) 2007.08.24 함수포인터 타입 (0) 2007.08.24 [펌] 함수포인터 정의 (0) 2007.08.24 [펌] 포인터 캐스팅을 이용한 실제 인터페이스 변경 (0) 2007.08.24 클래스 맴버함수의 함수 포인터 (1) 2007.08.24