[c언어] 유니온 데이터 타입

C언어에는 다양한 데이터 타입들이 존재하는데, 그 중에서 유니온(Union) 데이터 타입은 특별한 형태의 데이터 타입으로, 다른 데이터 타입을 동일한 메모리 영역에 저장할 수 있는 기능을 제공합니다.

유니온(Union)이란?

유니온은 다양한 데이터 타입을 하나의 메모리 공간에 저장할 수 있는데, 이를 통해 각기 다른 데이터 타입들을 동일한 메모리 블록에 할당하고, 이들 중 하나의 값을 저장하게 됩니다.

유니온의 활용 예시

#include <stdio.h>

union ExampleUnion {
    int intValue;
    float floatValue;
    char stringValue[20];
};

int main() {
    union ExampleUnion myUnion;
    myUnion.intValue = 10;
    printf("intValue: %d\n", myUnion.intValue);
    myUnion.floatValue = 3.14;
    printf("floatValue: %f\n", myUnion.floatValue);
    return 0;
}

주의사항

유니온은 서로 다른 데이터 타입을 하나의 메모리 영역에 저장하므로, 각기 다른 데이터 타입으로 저장했을 때의 크기와 메모리 할당에 대한 유의가 필요합니다.

이처럼 C언어의 유니온 데이터 타입은 다양한 데이터 타입을 하나의 메모리 공간에 저장할 수 있게 함으로써 효율적인 자원 활용을 가능케 합니다.

참고 문헌: GeeksforGeeks - Union in C