#include <stdio.h>
#include <unistd.h>
#pragma pack(push, 1) // 1 바이트 크기로 정렬
struct str_pack {
char flags;
int seq;
};
#pragma pack(pop) // 정렬 설정을 이저너ㅓ 상태 (기본값) 로 되돌림
union packet {
int num;
char empty;
};
union packet_empty {
int num;
char empty[0];
};
struct str_first {
char a;
int num_a;
char b;
};
union uni_first {
int num_a;
int num_b;
};
union uni_second {
int a;
char b;
double d;
int arr[3];
};
struct Person1 {
char name[20];
double age;
char sex;
};
struct Person2 {
char name[20];
char sex;
double age;
};
int main()
{
printf("PAGE_SIZE = %d\n", getpagesize());
int i;
int *ip;
char ch;
char *chp;
char arrays[10];
char empty[0];
union packet pk;
union packet_empty pk_empty;
int int_array4[4];
struct str_first v_str_first;
union uni_first v_uni_first;
pk.num = 4;
pk.empty = 'c';
//pk_empty.empty = "c";
printf("sizeof(int i) = %ld\n", sizeof(i));
printf("sizeof(int *i) = %ld\n", sizeof(ip));
printf("sizeof(char ch) = %ld\n", sizeof(ch));
printf("sizeof(char *chp) = %ld\n", sizeof(chp));
printf("sizeof(char arrays[10]) = %ld\n", sizeof(arrays[10]));
printf("sizeof(char empty[0]) = %ld\n", sizeof(empty[0]));
printf("sizeof(union packet) = %ld\n", sizeof(union packet));
printf("sizeof(union packet) = %ld\n", sizeof(union packet));
printf("sizeof(int_array4) = %ld\n", sizeof(int_array4));
printf("sizeof(int_array4[0]) = %ld\n", sizeof(int_array4[0]));
printf("\n============ Struct Size =============\n\n");
printf("sizeof(struct str_first) = %ld\n", sizeof(struct str_first));
printf("sizeof(struct str_first v_str_first) = %ld\n", sizeof(v_str_first));
printf("sizeof(union uni_first) = %ld\n", sizeof(union uni_first));
printf("sizeof(union uni_first v_uni_first) = %ld\n", sizeof(v_uni_first));
printf("sizeof(union uni_second) = %ld\n", sizeof(union uni_second));
printf("sizeof(struct Person1) = %ld\n", sizeof(struct Person1));
printf("sizeof(struct Person2) = %ld\n", sizeof(struct Person2));
v_uni_first.num_a = 4;
printf("%d\n", v_uni_first.num_a);
printf("%d\n", v_uni_first.num_b);
return 0;
}
'Programming > Programmers 알고리즘 문제' 카테고리의 다른 글
arrayshift (0) | 2019.10.24 |
---|---|
quickselect (0) | 2019.10.24 |
quicksort (0) | 2019.10.24 |
지나가다 본 알고리즘 문제 - 택배 박스 문제 (0) | 2018.04.16 |
파이썬 공부 (0) | 2018.04.15 |