더북(TheBook)

for 루프 안의 세 문장은 1.2절에서 처음으로 할당문에 대해 배울 때 봤던 교환 연산을 구현한다. 이 코드를 일곱 개의 요소를 가진 [3, 1, 4, 1, 5, 9, 2] 배열에 적용할 때 요소들이 어떻게 바뀌는지 [표 1.4.2]의 비공식 트레이스를 보면 이해하기 쉬울 것이다. 이 표에서는 for 루프를 반복할 때마다 i와 일곱 개의 요소가 어떻게 바뀌는지 추적한다.

▼ 표 1.4.2 배열을 역순으로 바꾸는 코드의 비공식 트레이스

i

a[]

0

1

2

3

4

5

6

 

3

1

4

1

5

9

2

0

2

1

4

1

5

9

3

1

2

9

4

1

5

1

3

2

2

9

5

1

4

1

3

 

2

9

5

1

4

1

3

 

배열을 사용할 때는 당연히 값을 바꿀 수 있을 것이라고 생각하겠지만, 데이터 타입을 설계할 때 가변성은 중요한 문제이며 여러 가지 의미를 지닌다. 이 의미에 대해서는 이번 절 뒤에서 간략히 설명하지만, 자세한 것은 3.3절에서 설명한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.