이 글을 쓰게 된 계기C 개발을 오래 하다 보면 다른 사람의 코드를 리뷰하거나 오픈소스를 분석할 일이 많아진다. 그러다 보면 한 가지 미묘한 차이를 발견하게 되는데, 같은 개발자가 작성한 코드임에도 불구하고 어떤 곳에서는 i++을, 또 다른 곳에서는 ++i를 사용하는 경우다. // 어떤 함수에서는for (int i = 0; i 겉보기에는 아무 문제없어 보이지만 이걸 보는 순간 “여기서 일부러 ++i를 쓴 이유가 있나?” 하고 멈추게 된다. i++과 ++i는 분명 다른 동작인데, for 루프에서도 정말 차이가 있는 걸까?그래서 직접 어셈블리까지 뽑아보면서 확인해 봤다. i++과 ++i의 차이우선 기본적인 차이부터 짚고 넘어가자.i++ 은 현재 값을 먼저 돌려준 다음에 i를 1 증가시킨다.++i 는 i를 ..