<형태>
#pragma pack(push, 크기)
#pragma pack (pop)
<예시>
<메모>
주로 구조체에서 서로다른 자료형을 이용하는경우 메모리 최적화를 위하여 사용한다.
예시의 출력결과는 9이다.
int형, char형, float형이 각각 하나씩 있으니 총 9Byte의 공간을 차지하기 때문이다.
만약 3,10줄을 지운뒤 코드를 실행시켜본다면 출력결과는 12가 될 것이다.
가장 큰 자료형의 크기가 4Byte이기 때문에 모든 자료형에 똑같이 4Byte씩을 할당하였기 때문이다.
#pragma pack의 분할 크기는 1,2,4,8,16 등이 모두 가능하다.
'Programming > C, C++' 카테고리의 다른 글
scanf와 scanf_s의 차이 (0) | 2020.02.07 |
---|---|
메모리의 동적할당 malloc (0) | 2020.02.07 |
열거형 enum (0) | 2020.02.05 |
#if ~ #endif (0) | 2020.02.04 |
타입변환과 구조체TIP (0) | 2020.02.04 |