00:14 대입 연산자
01:09 [실습] 대입 연산자 l-value
01:42 [실습] 복합 대입 연산자
02:19 [실습] 대입 연산자 우선 순위
03:27 증감 연산자
03:57 [실습] 증감 연산자
05:15 기타 연산자
05:28 [실습] 콤마 연산자
06:30 [실습] 형 변환 연산자
07:05 [실습] sizeof 연산자
07:45 [실습] 삼항 조건 연산자
++, — (증감 연산자)
증감 연산자는 단항 연산자로 1 증가하거나 1을 감소하는 연산이예요.
증감 연산을 수행하면 피연산자의 값을 변경하므로 피연산자는 l-value만 올 수 있어요.
++의 연산을 수행하면 피연산자의 값이 1 증가하고 — 연산을 하면 1감소하죠.
증감 연산자는 연산자가 피연산자 앞에 올 수도 있고 뒤에 올 수도 있는데 위치에 따라 연산 결과가 달라요.
그리고 증감 연산자가 피연산자 앞에 올 때 전위 증감 연산자라 부르며 뒤에 올 때 후위 증감 연산자라 불러요.
전위 증감 연산이 하는 것은 피연산자의 값을 1 증감하는 것이며 연산 결과도 값을 1 증감한 피연산자예요.
하지만 후위 증감 연산에서는 피연산자의 값은 1 증감하지만 연산 결과는 연산을 수행하기 전 피연산자의 값이죠.
re = i++;
//re = i;
//i = i+1;
re = ++i;
//i = i+1;
//re = i;
여러분께서 증감 연산자를 사용할 때 다른 표현식과 혼합하여 사용하지 마세요.
혼합하지 않는다면 코드를 분석하고 이해하는 것이 어렵지 않겠지만 혼합하여 사용하면 어려울 수 있어요.
증감 연산자는 다른 표현식과 혼합하여 사용하지 마시고 단독으로 사용하세요.
◈ 전위 후위 증감 연산자 비교
#include <stdio.h> int main() { int a = 2, b = 2; printf("수행 전 a: %d \n",a); printf("++a 연산 결과: %d \n",++a); printf("수행 후 a: %d \n",a); printf("수행 전 b: %d \n",b); printf("b++ 연산 결과: %d \n",b++); printf("수행 후 b: %d \n",b); return 0; }
◈ 실행 결과
수행 전 a: 2 ++a 연산 결과: 3 수행 후 a: 3 수행 전 b: 2 b++ 연산 결과: 2 수행 후 b: 3
◈ 기본 연습 (정답 바로가기)
다음 프로그램의 실행 결과를 예측하시오.
#include <stdio.h> int main() { int i = 8, re = 0; re = i++; printf("i:%d re:%d \n", i, re); return 0; }