안녕하세요 아임코딩입니다.
이번에는 C언어에서 제공하는 증감 연산자에 대해서 알아보도록 하겠습니다.
증감 연산자란?
증감 연산자는 증가 또는 감소 연산자를 뜻합니다.
어떤 숫자형 변수의 값을 1 증가 또는 1 감소를 하는 연산자 입니다.
증가 연산자 : ++
감소 연산자 : --
전위 증가 연산자 : ++변수
후위 증가 연산자 : 변수++
전위 감소 연산자 : --변수
후위 감소 연산자 : --변수
전위와 후위 연산자에 대한 차이점은 아래 글에서 다루도록 하겠습니다.
전위 증가 연산자 ++
전위 증가 연산자의 위치는 변수 앞에 위치합니다.
++변수 이런 형태로 코드를 작성합니다.
#include <stdio.h>
int main() {
int a = 1;
++a; //a = a + 1
printf("%d", a);
}
후위 증가 연산자 ++
후위 증가 연산자의 위치는 변수 앞에 위치합니다.
변수++ 이런 형태로 코드를 작성합니다.
#include <stdio.h>
int main() {
int a = 1;
a++; //a = a + 1
printf("%d", a);
}
전위 감소 연산자 --
전위 감소 연산자의 위치는 변수 앞에 위치합니다.
--변수 이런 형태로 코드를 작성합니다.
#include <stdio.h>
int main() {
int a = 1;
--a; //a = a - 1
printf("%d", a);
}
후위 감소 연산자 --
후위 감소 연산자의 위치는 변수 앞에 위치합니다.
변수-- 이런 형태로 코드를 작성합니다.
#include <stdio.h>
int main() {
int a = 1;
a--; //a = a - 1
printf("%d", a);
}
전위 연산자 vs 후위 연산자
전위 연산자와 후위 연산자의 차이를 알아보도록 하겠습니다.
이 둘의 차이점은 코드 실행 순서에 있는데요,
전위 연산자는 같은 줄에 있는 코드들 중 먼저 실행이 됩니다.
후위 연산자는 같은 줄에 있는 다른 코드들이 실행된 후 실행이 됩니다.
구체적인 내용은 코드를 통해서 알아보도록 하겠습니다.
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a++); //printf(), a = a + 1
printf("%d",a);
}
printf("%d\n", a++); 코드를 확인해보면 printf() 함수와 증가 연산자가 한 줄에 동시에 있기 때문에
어떤 코드가 먼저 실행될지 헷갈립니다.
a++ 후위 연산자이기 때문에 printf()가 먼저 실행된 후 a의 값이 증가한 것을 확인할 수 있습니다.
이처럼 후위 연산자는 같은 줄에 있는 다른 코드들이 먼저 실행이 되고 a의 값이 증가합니다.
반대로 전위 연산자의 경우에는 같은 줄에 있는 다른 코드들보다 전위 연산자가 먼저 실행이 됩니다.
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", ++a); //a = a + 1, printf()
printf("%d",a);
}
이렇게 전위 연산자와 후위 연산자의 차이점까지 알아봤습니다.
'프로그래밍 > C' 카테고리의 다른 글
[c언어] scanf() 오류 C4996 'scanf': This function or variable may be unsafe. (0) | 2024.01.26 |
---|---|
[c언어] visual studio scanf() 오류 해결 (0) | 2024.01.26 |
[C언어] 복합 대입 연산자 += -= *= /= %= (2) | 2024.01.26 |
[C언어] 산술 연산자 + - * / % (0) | 2024.01.25 |
[C언어] bool 자료형 (1) | 2024.01.24 |