본문 바로가기
프로그래밍언어/C언어

연산자 종류 - 증감연산자

by J코딩 2021. 9. 7.
반응형

증감연산자는 ++, -- 기호를 이용하는 연산자로 피연산자의 값을 1증가 또는 1감소시켜 줍니다.

증감연산자 설명
++a(전위형) a값을 증가 한 후, 저장
a++(후위형) a값을 저장 한 후, 증가
--a(전위형) a값을 감소 한 후, 저장
a--(후위형) a값을 저장 한 후, 감소

 

증감 연산자의 의미는 1씩 증가 또는 1씩 감소하라는 의미입니다. ++a와 a++는(은) 'a = a + 1'과 의미가 같고, --a와 a--는(은) 'a = a - 1'의 의미와 같습니다. 다음 예제를 보겠습니다.

 

11행에서 num1변수에 있는 값을 num1변수에 저장한 후 1씩 증가합니다.

17행에서 num1변수에 있는 값을 1씩 증가 한 후 num1변수에 저장합니다.

23행에서 num1변수에 있는 값을 num1변수에 저장한 후 1씩 감소합니다.

29행에서 num1변수에 있는 값을 1씩 감소 한 후 num1변수에 저장합니다.

 

증감 연산자에는 전위형과 후위형이 있는데 그 방식에 차이가 있습니다. 증감 연산자의 위치가 변수의 앞(++a, --a)에 위치하면 전위형이라 하고, 변수의 뒤(a++ ,a--)에 위치하면 후위형이라 합니다. 그렇다면 두 방식의 차이는 무엇일지 다음 예제를 통해서 자세히 알아보겠습니다.

11행에서 증감 연사자(++)가 변수 앞에 있는 전위형입니다. 'num=num+1'을 먼저 수행하고(선 증가) 이후에 'a=num1'을 수행(후 저장)하라는 의미이기 때문에 변수 num1과 a 모두 11이 출력됩니다.

 

17행에서 증감 연산자(++)가 변수 뒤에 있는 후위형입니다. 'b=num2'를 먼저 수행하고(선 저장), 이후에 num2=num2+1을 수행하라(후 증가)는 의미이기 때문에 변수 b는 10, num2는 11이 출력됩니다.

 

증감연산자를 잘 이용하면 프로그램의 코드를 간결하게 만들고 수행 속도를 빠르게 할 수 있는 장점이 있습니다. 그 이유는 num1++의 경우는 ++ 연산자만을 호출하는데 반해 'num1=num1+1'은 +연산자와 =연산자를 호출해야 원하는 결과를 얻을 수 있기 때문입니다. 결국 둘 다 같은 결과가 나오지만 증감연산자를 사용하면 코드를 간결하게 표현할 수 있습니다.

반응형

댓글