[c] 구조체와 유니언
C 언어는 구조체(struct)와 유니언(union)이라는 두 가지 데이터 타입을 제공합니다. 이들은 여러 가지 데이터를 하나의 새로운 타입으로 묶어주는 데 사용됩니다.
구조체
구조체는 여러 개의 데이터 필드를 하나의 묶음으로 만들어주는 데이터 타입입니다. 각 필드는 서로 다른 데이터 타입이 될 수 있습니다. 구조체를 이용하면 하나의 레코드로 여러 데이터를 묶어 새로운 데이터 타입을 만들 수 있습니다.
struct Person {
char name[50];
int age;
float height;
};
위의 예시에서 Person
은 새로운 데이터 타입이며, name
, age
, height
는 각각의 필드입니다. 이 필드들은 서로 다른 데이터 타입을 가지고 있습니다.
유니언
유니언은 구조체와 비슷하지만, 각 필드가 메모리를 공유한다는 점에서 차이가 있습니다. 이는 하나의 유니언 변수가 여러 가지 형태의 데이터를 가질 수 있음을 의미합니다.
union Data {
int i;
float f;
char str[20];
};
위의 예시에서 Data
는 새로운 데이터 타입이며, i
, f
, str
은 각각의 필드입니다. 하지만, i
, f
, str
들은 하나의 메모리 주소를 공유하게 됩니다.
구조체와 유니언은 C 프로그래밍에서 데이터 구조를 다룰 때 유용한 도구로 사용됩니다. 이를 이용하면 복잡한 데이터를 쉽게 다룰 수 있습니다.