반응형
단항연산자 위치의 차이 ( i++와 ++i )
단항연산자 ++, -- 의 위치가 갖는 의미.
쉽게 이해하기위해
i++의 경우는 '식을 계산한 뒤' 1증가
++i의 경우는 '1증가 후' 식을 계산
라고 설명하고, 설명듣고, 알고있습니다.
단항연산자가 아래처럼 단독으로 사용될 때는 컴파일러단에서 증가된 값 하나만을
처리하므로 차이 없습니다.
ex) i++; <-> ++i;
식에서 사용될 때,
ex) value = number + (i++);
위의 경우 i++ 가 먼저 계산되고, 'number +'와의 연산을 위해 i++ 이 수행되기 전의 값을 저장하게 됩니다..
따라서,
(후위) i++ 증가하기 전 값을 저장하기위한 메모리 공간이 필요하며.
(전위) ++i 증가한 후의 값만을 사용하기 때문에 메모리 공간 소모 없습니다.
작은 메모리지만 임베디드 시스템과 같은 저성능 하드웨어에서는 전위나 후위나 같은 결과를 뽑을수 있는 식이라면, 전위를 쓰는게 유리하게 됩니다.
참고 :
성장하는 호랑이 - 전위 후위 증감 연산자, ++i, i++ 차이
반응형
'궁금증' 카테고리의 다른 글
[putty] host does not exist (0) | 2015.05.09 |
---|---|
바이트 오더( BigEndian, LittleEndian ) (0) | 2015.04.16 |
반복문 등에 i, j, k의 문자를 사용하는 이유 (0) | 2015.03.30 |
XMPP? (0) | 2015.01.11 |
[PuTTY] 사용중 ctrl + s를 눌렀을 때 (0) | 2014.12.23 |
댓글