공용체

    공용체(union),리틀 엔디안(Little Endian)과 빅 엔디안(Big Endian)

    공용체(Union) 많이 사용하는 것은 아니지만 C언어에서 제공하는 것들 중 하나입니다. 공용체는 구조체와 비슷하지만 구조체와 달리 메모리를 '공유'합니다. 예를 들어보면 struct A { int i; char j; }; 구조체는 이와 같이 int i와 char j가 차지하고 있는 메모리는 독립적입니다. 저희가 알고있는 것과 같죠. 그렇다는 공용체는? union A { int i; char j; }; 위 그림처럼 각 멤버들의 시작주소는 동일합니다. 즉 메모리를 공유하고있습니다. 테스트해보기 위해 코드를 보겠습니다. #include union A { int i; char j; }; int main() { union A a; a.i = 0x12345678; // 4바이트 printf("%x", a.j); ..