이어지는 그림은 인덱스와 메모리 주소를 표시한 쇼핑 목록 배열이다.
▲ 그림 1-5
컴퓨터가 배열의 특정 인덱스에 있는 값을 읽을 때 한 번의 단계로 바로 갈 수 있는 데는 컴퓨터가 지닌 다음과 같은 특징들이 복합적으로 작용한다.
1. 컴퓨터는 모든 메모리 주소에 한 번에 갈 수 있다. 예를 들어 컴퓨터에 메모리 주소 1063에 있는 값을 조사하라고 요청하면 검색 과정 없이 바로 간다. 마치 오른손 새끼손가락을 들어보라고 할 때 오른손 새끼손가락을 찾으려고 손가락을 일일이 확인해 보지 않는 것과 비슷하다. 즉시 찾아낸다.
2. 컴퓨터는 배열을 할당할 때 어떤 메모리 주소에서 시작하는지도 기록해 둔다. 그래서 배열의 첫 번째 원소를 찾으라고 요청하면 적절한 메모리 주소로 바로 가서 찾는다.
위와 같은 점들이 컴퓨터가 배열의 첫 번째 값을 어떻게 한 번에 찾아내는지 설명한다. 하지만 컴퓨터는 어떤 인덱스에 있는 값이든 간단한 덧셈을 수행해 찾을 수 있다. 컴퓨터에 인덱스 3에 있는 값을 찾으라고 요청하면 컴퓨터는 인덱스 0의 메모리 주소를 가져와 3을 더한다(어차피 메모리 주소는 순차적이다).