우치하이타치
25
2020-05-15 12:00:43
3
243

왜 프로그래밍 언어에서 인덱스 출발은 1이 아닌 0부터 일까요?


안녕하세요. 많은 선배 개발자님들.

처음 플밍을 배울 때는 아무 생각없이 0부터 시작하니까 그런가보다 하고 썼는데요,


사람은 직관적으로 하나, 둘, 셋....이렇게 세는게 자연스러운데

컴퓨터는 0부터 세는 것이 뭔가 위대한(?)철학이 있을 것 같은데요...

혹시 아시는분 계실까요

0
0
  • 답변 3

  • fx
    1k
    2020-05-15 12:54:24 작성 2020-05-15 12:55:19 수정됨

    배열 인덱스가 1부터 시작하는 언어도 있습니다.


    초기 언어들이 배열을 구현할때

    배열의 시작주소를 포인터로 하여

    포인터연산을 통해 구현했기 때문이 아닐까 추측해 봅니다


    기준주소 + (자료형크기 * 인덱스) 


    1부터 시작하면 뺄셈 연산이 추가되어야 합니다

    0
  • Courage
    2k
    2020-05-15 13:03:59

    인덱스는 10진법을 사용하기 때문에 0부터 시작하는게 아닐까요..

    10진법은 0~9까지의 숫자니까요. 

    0
  • ercnam
    3k
    2020-05-15 14:13:12

    저도 궁금하여 인터넷을 찾아보니..


    "해당 객체로부터 몇번째 떨어진 주소위치인가를 나타내는 숫자"


    라네요.


    즉, a[0] 이면 a객체로부터 0번째 떨어진 주소...

    a[5] 면 5번째 떨어진 주소..


    이런식이라서 0 부터 시작한다고 합니다.

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.