[C언어] 증가연산자 ++ 와 감소 연산자 -- , 증감연산자 사용방법
안녕하세요. 이번 포스팅은. 증가 연산자 ++ 와 감소 연산자 -- 사용방법입니다.
증감 연산자인 증가 연산자 ++ 와 감소 연산자 --
증감 연산자( ++, --)는 피연산자의 값을 1만큼 증가시키거나 감소시키는 단순한 작업을 수행합니다. 이러한 증감 연산자는 위치에 따라 다르게 동작하게 됩니다. 첫 번째는 피연산자 앞에서 사용하는 전위 방법. 두 번째는 피연산자 뒤에 사용하는 후위 방법이 있습니다.
전위, 후의 모두 증가시키거나 감소시키는 역할을 하지만 증감이 일어나는 시점에 차이가 있습니다.
일단 증감 연산자의 동작 방법을 설명하겠습니다.
//증감연산자
#include <stdio.h>
int main (void)
{
int Up = 0;
int Down = 0;
Up++;
Down--;
printf("Up: %d , Down: %d\n",Up,Down);
++Up;
--Down;
printf("Up: %d , Down: %d\n ",Up,Down);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
위의 코드를 보시면 Up, Down이라는 0으로 초기화한 변수를 후위, 전위 방식으로 증가, 감소시켜보았습니다. 결괏값은
Up: 1 , Down: -1
Up: 2 , Down: -2
이라는 값으로 둘 다 더해지고 빼지는 결과가 나온 것을 볼 수 있습니다.
그러면 Up = Up+1. Down = Down -1이라는 명령을 수행하는 것인데 왜 증감 연산자를 사용할까요?
바로 축약한 형태의 프로그램이 더 깔끔하고 이해하기 쉽게 만들 수 있기 때문입니다. 예를 들어 아래와 같은 0부터 9까지 출력하는 프로그램이 있습니다.
#include <stdio.h>
int main (void)
{
int Cnt = 0;
while(Cnt < 10){
printf("%d\n",Cnt);
Cnt = Cnt + 1;
}
return 0;
}
|
이 단순한 코드를 증감 연산자를 통하여 간략하게 만들어보겠습니다.
#include <stdio.h>
int main (void)
{
int Cnt = -1;
while(++Cnt < 10){
printf("%d\n",Cnt);
}
return 0;
}
|
조건을 증가시키는 부분과 while 문 안의 비교를 합쳐 더 안락한 코드가 되었습니다. 그런데 Cnt 변수가 0에서 -1로 바뀐 이유는
Cnt를 출력하기 전에 먼저 증가가 되었기 때문에 -1을 해주었습니다.
다음으로는 증감 연산자의 전위 후위 방법에 따른 차이점에 대해 설명하겠습니다.
#include <stdio.h>
int main (void)
{
int a = 0;
int b = 0;
int a_after, b_after;
a_after = a++;
b_after = ++b;
printf("a_after: %d b_after: %d \n", a_after , b_after);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
각 a는 후위 , b는 전위로 증가가 이루어졌습니다.
결과는 a_after: 0 b_after: 1. 와 같습니다.
후위 방법(a++)은 a값이 사용된 후(a_after에 값을 대입) 증가가 이루어졌고
전위 방법(++b)은 b값이 증가된 후 사용되었습니다.
따라서 a_after는 증가되기 전의 값인 0 이 대입되었고 b_after는 0에서 증가된 1이 대입된 것입니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 대입연산자 +=, -=, *= , /=, %= (0) | 2019.12.04 |
---|---|
[C언어] 데이터형 바꾸기 캐스트 연산자 (0) | 2019.12.03 |
[C언어] 산술연산자(+,-,*,/,%) 우선순위와 결합 방향 (0) | 2019.11.27 |
C언어 수식함수 라이브러리 math.h (0) | 2019.11.27 |
[C언어] 퍼센트 % 출력하기 (0) | 2019.10.16 |