개인 공부/C언어 공부
C언어 코딩도장 : 51.7 패킷 크기 조절하기
240 • 사공이
2020. 8. 21. 23:22
문제 : 다음 소스 코드를 완성하여 3이 출력되게 만드세요. 구조체 멤버의 이름은 마음대로 지어도 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdio.h>
struct Packet {
char a;
char b;
char c;
};
int main()
{
struct Packet pkt;
printf("%d\n", sizeof(pkt));
return 0;
}
|
cs |
구조체 정렬 크기를 조절하지 않는 경우 - char형 변수 3개 선언
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <stdio.h>
#pragma pack(push, 1)
struct Packet {
char a;
short b;
};
#pragma pack(pop);
int main()
{
struct Packet pkt;
printf("%d\n", sizeof(pkt));
return 0;
}
|
cs |
구조체 정렬 크기를 조절하는 경우(#pragma pack(push, 1), #pragma pack(pop) 활용) - char 1개, short 1개 선언