C언어 - 공용체의 원리
2020. 11. 15. 14:20ㆍ개인공부/C언어
구조체는 데이터를 묶어놓은것, 그데이터로 가지고 할수있는 일들을 기능까지 집어넣은 것이 객체지향에서 말하는 객체(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언어
'개인공부 > C언어' 카테고리의 다른 글
C언어 - 함수 포인터의 원리 (0) | 2020.11.15 |
---|---|
C언어 - 열거형 (0) | 2020.11.15 |
C언어 - 구조체를 함수로 전달하는 방법 (0) | 2020.11.15 |
C언어 - 구조체를 다른 구조체의 멤버로 사용하기 (0) | 2020.11.15 |
C언어 - 구조체의 기본적인 사용법 (0) | 2020.11.14 |