Comparison of Array vs. Pointer
- 배열을 사용하면 새 인덱스 값을 계산해야 하므로 곱셈과 덧셈을 해야 한다.
- 포인터를 사용하면 p를 직접 증가시킨다.
배열의 마지막 주소 계산을 반복문 바깥으로 빼냄으로써 명령어를 줄였다.
- 곱셈 대신 자리이동과 배열 주소 계산을 반복문에서 제거함으로써 최적화를 했다.
C에서 포인터를 이용하면 배열을 이용하는 것보다 더 효율적이니 포인터를 이용하라고 가르치는 경우가 많다.
그러나 요즘 최적화 컴파일러는 배열을 사용한 코드에 대해서도 똑같이 좋은 코드를 생성할 수 있다.