Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어의 전위 증가(Pre-increment)와 전위 감소(Pre-decrement) 연산자 완벽 정리

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 감소시킨 후, 감소된 값을 식에 사용합니다.
  • 반복문의 조건식에서 전위 연산자를 사용하면 증감이 먼저 일어나기 때문에 실행 결과를 예측할 때 이 순서를 반드시 고려해야 합니다.