요즘 javascript를 공부하고 있습니다.
반복문 구간에 들어갔는데
i 가 0에서 시작하더군요.
전에는 그냥 지나쳤지만
공부하는 김에 왜 i가 0에서 시작해야 하는지 궁금해 찾아봤습니다.
그러니
꼭 i가 0이어야 할 필요는 없다더군요.
그런데 작업하다 보면
i = 0일때 가장 깔끔하게 소스도 떨어지고
가독성이 높다더군요.
아~~
작업하다 보면 이게 편할거라는 말에
더이상 고민 안하기로 했습니다.
i가 0인 이유는 배열 첨자가 0부터 시작하기 때문입니다.
array_name[0]이 첫번째 요소다보니 보통 0부터 시작하는거지요.
그럼 왜 배열의 첫번째를 1이 아니라 0이라고 표시하느냐?
이건 C언어 때문입니다.
C언어에서는 배열은 포인터의 다른 모습입니다.
그래서 array_name[0]은 실질적으로 *(array_name+0)으로 해석됩니다.
그렇기 때문에 0이어야 합니다.
하지만 배열의 첫번째는 1인게 상식적으로 이해하기 쉽긴 하죠.
실제로 C언어보다 먼저 만들어진 파스칼같은 언어는
배열의 첫번째 첨자가 1부터 시작합니다.
하여튼 이게 다 C언어때문입니다.
C언어가 워낙 지배적인 언어였다보니.. 그 이후의 언어들은
C언어의 영향을 안받을 수가 없었습니다.