본문 바로가기
궁금증

단항연산자 위치의 차이 ( i++와 ++i )

by GGoris 2015. 3. 30.
반응형

단항연산자 위치의 차이 ( 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

댓글