Programming/C
C언어 - 공용체
경원구
2016. 6. 10. 06:30
<공용체>
공용체는 구조체의 개념에서 모두 같지만 딱 하나... 메모리를 공유한다는 점과 차이점이 있다.
공용체도 변수들을 묶어 하나의 구조체 처럼 사용한다. 하지만 이 공용체는 변수의 메모리 공간을 공유한다.
예를 들면
struct abc
{
char a;
int b;
double c;
};
union abc
{
char a;
int b;
double c;
};
이렇게 있다고 가정하자. 각각의 의미를 그림으로 표현해보면...
공용체와 구조체는 접근방법과 문법도 거의 동일하다.
<실습>
-결과-
위에 공용체와 구조체의 문법을 보면 거의 동일한 것을 알 수 있다.
sizeof를 이용해서 union ab와 struct xy를 찍어냈다. 결과는 각각 4 8이다.
이렇듯이 메모리 공간을 공유하는 것을 알 수 있다.
그렇다면 union에 있는 멤버 변수 b를 20으로 바꾼다면? 당연히 a도 바뀔것이다.
LIST