C 언어에서 증가 연산자(increment operator)는 변수의 값을 1만큼 늘리는 역할을 하며, 감소 연산자(decrement operator)는 그 반대로 값을 1만큼 줄이는 역할을 합니다.
증가와 감소 연산자는 각각 전위(prefix) 방식과 후위(postfix) 방식으로 사용할 수 있는데, 이번 글에서는 전위 방식에 대해 자세히 알아보겠습니다.
전위 증가·감소 연산자의 문법
C 언어에서 전위 증가 연산자의 기본 문법은 다음과 같습니다.
++variable_name;
전위 감소 연산자의 기본 문법은 다음과 같습니다.
--variable_name;
전위 증가(Pre-increment)란?
전위 증가는 변수에 값이 대입되기 전에 먼저 값이 1만큼 증가하는 연산 방식입니다. 즉, 연산식이 평가되기 전에 증가가 이루어지므로 증가된 값이 곧바로 그 식에 반영됩니다.
다음은 C 언어에서 전위 증가 연산자를 사용한 예제입니다.
예제 코드
#include <stdio.h>
int main() {
int i = 5;
printf("The pre-incremented value : %d\n", i);
while(++i < 10)
printf("%d\t", i);
return 0;
}실행 결과
The pre-incremented value : 5 6 7 8 9
위 예제에서 while(++i < 10) 조건문을 보면, 비교 연산이 수행되기 전에 i가 먼저 1 증가합니다. 따라서 초기값이 5였던 i는 6부터 9까지 출력되고, 10이 되는 순간 조건이 거짓이 되어 반복문이 종료됩니다.
전위 감소(Pre-decrement)란?
전위 감소는 변수에 값이 대입되기 전에 먼저 값이 1만큼 감소하는 연산 방식입니다. 전위 증가와 마찬가지로, 감소된 값이 그대로 해당 식의 평가에 사용됩니다.
다음은 C 언어에서 전위 감소 연산자를 사용한 예제입니다.
예제 코드
#include <stdio.h>
int main() {
int i = 10;
printf("The pre-decremented value : %d\n", i);
while(--i > 5)
printf("%d\t", i);
return 0;
}실행 결과
The pre-decremented value : 10 9 8 7 6
위 예제에서 while(--i > 5) 조건문은 비교 연산 전에 i를 먼저 1 감소시킵니다. 초기값이 10이었던 i는 9부터 6까지 출력되고, 5가 되는 순간 조건이 거짓이 되어 반복이 멈춥니다.
정리
- 전위 증가(
++i): 값을 먼저 1 증가시킨 후, 증가된 값을 식에 사용합니다. - 전위 감소(
--i): 값을 먼저 1 감소시킨 후, 감소된 값을 식에 사용합니다. - 반복문의 조건식에서 전위 연산자를 사용하면 증감이 먼저 일어나기 때문에 실행 결과를 예측할 때 이 순서를 반드시 고려해야 합니다.