[c언어] 불변 데이터 타입
C 언어에서는 불변 데이터 타입이 없지만, 조치를 취하여 데이터를 변경하지 못하도록 하는 방법이 있습니다.
1. const 한정자 사용
const
한정자를 사용하여 값을 상수로 선언할 수 있습니다. const
한정자를 사용한 변수는 초기화 이후에 값이 변경되지 않습니다.
const int age = 25;
age = 30; // 에러: 상수값을 변경할 수 없음
2. 포인터를 이용한 불변
포인터를 const
로 선언하여 해당 포인터가 가리키는 값을 변경하지 못하도록 할 수 있습니다.
const int* ptr;
int value = 10;
ptr = &value;
*ptr = 20; // 에러: 포인터가 가리키는 값 변경 불가
3. const로 함수 매개변수 전달
함수에서 const
를 사용하여 매개변수를 선언하면, 함수 내에서 해당 매개변수의 값을 변경할 수 없습니다.
void showData(const int num) {
num = 15; // 에러: 매개변수 값 변경 불가
}
불변성(Immutability)은 프로그램의 안정성과 유지보수성을 향상시키는 데 도움이 되는 중요한 개념입니다.
참조:
- https://www.geeksforgeeks.org/const-qualifier-in-c/
- https://www.geeksforgeeks.org/immutability-in-c/