공부하기/C언어
2-3. 상수와 #define 지시자
bsarise
2023. 8. 5. 00:09
728x90
C언어에서 상수는 변하지 않는 값을 나타내며, 프로그램 내에서 한 번 설정되면 그 값을 변경할 수 없습니다. 상수를 정의하는 두 가지 주요 방법은 리터럴 상수와 #define 지시자를 사용하는 것입니다.
1. 리터럴 상수:
리터럴 상수는 코드 내에서 직접 나타나는 상수 값입니다. 예를 들면:

.
2. #define 지시자:
#define 지시자를 사용하여 매크로 상수를 정의할 수 있습니다. #define는 C 전처리기에 의해 처리되며, 코드가 컴파일되기 전에 상수 값으로 대체됩니다.
기본 형식:

예제:

#define 지시자의 장점:
- 값의 중복을 피할 수 있습니다. 예를 들어, 프로그램 전체에서 사용되는 상수 값을 한 번만 변경하면 전체 프로그램에서 해당 값이 변경됩니다.
- 코드의 가독성을 향상시킵니다. PI와 같은 의미 있는 이름을 사용하면 코드를 읽는 사람이 해당 상수의 의도를 더 쉽게 이해할 수 있습니다.
상수와 #define 지시자의 차이점:
- #define은 메모리를 사용하지 않습니다. 이것은 컴파일 타임에 상수 값으로 대체되기 때문입니다.
- const 키워드를 사용하여 C에서 변수를 상수로 선언할 수도 있습니다. 이 방법은 메모리를 사용하며, 실행 시간에 상수의 주소를 참조할 수 있습니다.
예제:

const와 #define 둘 다 유용하지만, 사용 상황에 따라 적절한 방법을 선택해야 합니다.