증감연산자
'증감연산자'란 피연산자를 1씩 증가시키거나 감소시킬 때 사용하는 연산자이며, 피연산자가 한 개인 단항 연산자이다. 증가 연산자와 감소 연산자로 나뉜다.[1]
역사
이 개념은 1969년 경에 켄 톰프슨에 의해 B 프로그래밍 언어에 처음 도입되었다.[2]
연산자 위치
연산자가 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서와 결과가 다르다. [3]
전위 증감 연산자
피연산자의 값을 증감시킨 후 연산을 수행한다.
증감 연산자 설명 ++x 피연산자 x의 값을 1 증가 시킨 후 연산 수행 --x 피연산자 x의 값을 1 감소 시킨 후 연산 수행
전위 증감 연산자의 동작원리[4]
1. x=x+1; 2. return x;
후위 증감 연산자
연산을 수행한 후 피연산자의 값을 증감시킨다.
증감 연산자 설명 x++ 연산 수행 후 피연산자 x의 값을 1 증가 x-- 연산 수행 후 피연산자 x의 값을 1 감소
후위 증감 연산자의 동작원리[4]
1. const int temp = x; 2. x=x+1; 3. return temp;
증감 연산자 활용
for문 활용
조건문 for문에서 증감 연산자를 다음과 같이 사용한다.
for(i=0; i<10; ++i) //전위 증감 연산자 for(i=0; i<10; i++) //후위 증감 연산자
for문에서의 전위/후위 증감 연산자 전위 증감 연산자는 변수 값을 1 증감하여 반환하지만, 후위 증감 연산자는 다른 변수에 현재 변수를 저장 후 1 증감 시킨 다음 이전에 저장된 값을 반환한다. 컴파일러의 최적화를 통해 실행속도에는 차이가 거의 없을 수 있지만 연산자 오버로딩으로 인해 후위 증감 연산자는 성능이 더 떨어지게 되므로 전위 증감 연산자가 성능상 이득을 볼 수 있다.[4]
각주
- ↑ 위키백과, 〈증감 연산자〉, 《위키백과》, 2020-01-17
- ↑ Ritchie, Dennis M., 〈The Development of the C Language〉, 《ACM SIGPLAN Notices》, 2003
- ↑ TCPSCHOOL, 〈증감 연산자〉, 《TCPSCHOOL》
- ↑ 4.0 4.1 4.2 성장하는 호랑이 , 〈전위 후위 증감 연산자, ++i, i++ 차이〉, 《개인 블로그》, 2012-06-07
참고 자료
- 위키백과, 〈증감 연산자〉, 《위키백과》, 2020-01-17
- Ritchie, Dennis M., 〈The Development of the C Language〉, 《ACM SIGPLAN Notices》, 2003
- TCPSCHOOL, 〈증감 연산자〉, 《TCPSCHOOL》
- 성장하는 호랑이 , 〈전위 후위 증감 연산자, ++i, i++ 차이〉, 《개인 블로그》, 2012-06-07