개인공부/C언어
C언어 - 공용체의 원리
무제1351
2020. 11. 15. 14:20
구조체는 데이터를 묶어놓은것, 그데이터로 가지고 할수있는 일들을 기능까지 집어넣은 것이 객체지향에서 말하는 객체(Object), class이다.
int main(){
/* 서로 다른 데이터 타입들이 같은 메모리 공간을 사용한다. (구조체와의 차이점)
union my_union{
int i;
double d;
char c;
}; // 메모리를 같이 사용한다. (padding이 없다.)
union my_union uni;
printf("%zd\n", sizeof(union my_union));
// 8
printf("%lld\n", (long long)&uni);
// 19920800
printf("%lld %lld %lld\n", (long long)&uni.i, (long long)&uni.d, (long long)&uni.c);
// 19920800 19920800 19920800 // 같은 메모리를 공유한다는 증거.
union my_union save[10];
printf("%zd\n", sizeof(save));
// 80
출처 : 홍정모의 따라배우는 C언어