[c언어] 가변 데이터 타입

C언어는 정적으로 타입이 지정된 언어이기 때문에 변수의 데이터 타입을 컴파일 시점에 사전에 정의해야 합니다. 그렇다면 C언어에서 가변 데이터 타입을 어떻게 다루는지 알아보겠습니다.

1. 포인터 활용

가변적인 데이터를 다루기 위해서 포인터를 활용할 수 있습니다. 포인터는 메모리 주소를 저장하고 해당 주소에 접근할 수 있도록 해줍니다. 이를 통해 가변 데이터를 포인터를 활용하여 다룰 수 있습니다.

예를 들어, void 포인터를 사용하면 다양한 데이터 타입을 다룰 수 있습니다.

void* dynamicVar;

int intValue = 10;
dynamicVar = &intValue; // int 타입의 데이터에 접근

float floatValue = 3.14;
dynamicVar = &floatValue; // float 타입의 데이터에 접근

2. 유니온 활용

또 다른 방법으로 유니온(union)을 사용할 수 있습니다. 유니온은 여러 가지 데이터 타입을 하나의 메모리 공간 안에서 공유하도록 해줍니다.

예를 들어, 정수형과 실수형 데이터를 하나의 변수로 다루고 싶을 때 유니온을 활용할 수 있습니다.

union DynamicVariable {
    int intValue;
    float floatValue;
};

union DynamicVariable var;
var.intValue = 10; // 정수형 데이터에 접근
var.floatValue = 3.14; // 실수형 데이터에 접근

C언어에서 가변 데이터를 다루는 방법에 대해 간단히 살펴보았습니다. 포인터와 유니온을 활용하여 가변 데이터를 보다 유연하게 다룰 수 있습니다.

이상으로 [C언어] 가변 데이터 타입에 대해 알아보았습니다.

참고: GeeksforGeeks