C언어 변수와 상수, 차이점과 올바른 사용법
C언어에서 데이터를 저장하고 관리하는 핵심 요소는 **변수(Variable)**와 **상수(Constant)**입니다. 변수는 프로그램 실행 중 값이 변경될 수 있는 저장 공간이며, 상수는 변경할 수 없는 값으로 특정한 의미를 유지할 때 유용합니다. 본 글에서는 변수와 상수의 차이점을 명확히 이해하고, 올바른 사용법과 주의할 점을 상세히 살펴보겠습니다.
목차
1. 변수란 무엇인가?
변수는 **값을 저장하는 메모리 공간의 이름**입니다. 프로그램 실행 중 변수의 값은 변경될 수 있으며, 다양한 데이터 유형을 저장할 수 있습니다.
🔹 변수 선언 방법
#include <stdio.h>
int main() {
int age = 25; // 정수형 변수 선언
float height = 175.5; // 실수형 변수 선언
char grade = 'A'; // 문자형 변수 선언
printf("나이: %d, 키: %.1f, 학점: %c\n", age, height, grade);
return 0;
}
2. 상수란 무엇인가?
상수는 **값이 한 번 정의되면 변경할 수 없는 데이터**입니다. 코드의 가독성을 높이고, 실수를 방지하는 데 사용됩니다.
🔹 상수 선언 방법
#define
매크로 → 전처리기에서 치환const
키워드 → 변경 불가능한 변수 선언
#include <stdio.h>
#define PI 3.14159 // 매크로 상수
const int MAX_USERS = 100; // const 상수
int main() {
printf("원주율: %f, 최대 사용자 수: %d\n", PI, MAX_USERS);
return 0;
}
3. 변수와 상수의 차이점
구분 | 변수 (Variable) | 상수 (Constant) |
---|---|---|
값 변경 가능 여부 | 가능 | 불가능 |
메모리 저장 방식 | RAM에 저장 | 일부 상수는 ROM에 저장 |
사용 목적 | 데이터를 동적으로 변경 | 변하지 않는 값을 저장 |
4. C언어의 변수 유형
변수는 저장하는 데이터의 종류에 따라 여러 유형으로 나뉩니다.
- 정수형 (
int
,long
) → 정수를 저장 - 실수형 (
float
,double
) → 소수점 값을 저장 - 문자형 (
char
) → 단일 문자 저장 - 배열 (
char[]
,int[]
) → 여러 개의 값을 저장
5. C언어에서 상수를 선언하는 방법
C언어에서는 상수를 선언하는 방식이 여러 가지 있습니다.
#define
매크로 → 전처리기에 의해 치환됨const
키워드 → 변수를 변경 불가능하게 설정enum
열거형 → 여러 개의 관련 상수를 그룹화
6. 변수와 상수 사용 시 주의할 점
변수와 상수를 사용할 때 몇 가지 유의해야 할 점이 있습니다.
🔹 변수 사용 시 주의점
- **초기화하지 않은 변수 사용 금지** → 예기치 않은 동작 발생
- **변수의 범위(Scope) 이해 필요** → 지역변수와 전역변수 구분
🔹 상수 사용 시 주의점
- **매크로 상수는 디버깅이 어려울 수 있음** →
const
를 선호 - **상수를 변경하려는 시도 금지** → 컴파일 오류 발생
7. 결론
C언어에서 **변수와 상수는 데이터 저장의 핵심 개념**입니다. 변수는 값이 변할 수 있지만, 상수는 고정된 값을 유지하며 코드의 안정성을 높입니다. 올바른 선언과 사용법을 익혀, 유지보수성과 성능이 뛰어난 코드를 작성해야 합니다.
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 리터럴(Literal), 프로그래밍에서 데이터 표현하기 (0) | 2025.03.04 |
---|---|
C언어에서 상수(Constant)를 사용하는 이유와 장점 (0) | 2025.02.26 |
C언어 데이터 타입 변환, 암시적 변환과 명시적 캐스팅 알아보기 (0) | 2025.02.20 |
C언어 변수 관리, 지역 변수와 전역 변수 차이점 (0) | 2025.02.14 |
C언어 리터럴의 종류: 정수, 실수, 문자, 문자열 리터럴 (0) | 2025.02.08 |