티스토리 뷰



안녕하세요 박스여우입니다.

지난시간에 배웠던 배열 강좌에서 배열에 대한 아주 기초적인 것만 설명하고 넘어갔습니다. 이번에는 배열의 길이를 구하는 방법과 사용법에 대해 알아보겠습니다.


 배열의 길이를 구하는 length

배열의 길이는 프로그램이 동작할때 상수로 주어줄 때도 있지만, 사용자가 원하는 만큼의 길이를 입력하거나, 다른 방법을 통해 배열의 길이를 정할 수 있습니다. 이럴때는 배열의 길이를 알 수 없겠죠? 하지만 length를 통해 알 수 없는 배열의 길이를 구할 수 있습니다.

length의 기본적인 사용 방법을 알려드리기 위해 위의 코드를 살펴봅시다. 첫 라인은 int형배열 arr를 선언한 후 길이를 10으로 지정했습니다. 그리고 두번째 라인에는 배열의 길이를 출력했네요. 이러면 당연히 10이 출력되겠죠?



 length를 for문에!

그럼 좀 더 나아가서 반복문에 활용해 봅시다. 아참! 아직 반복문을 모르신다면 여기로! 

예제는 배열을 for문에 처음 적용해 보시는 분들이 자주 겪는 문제입니다. 실수하지 않게 잘 숙지해 주세요!

첫번째 반복문과 두번째 반복문은 조건문에서 차이점이 있습니다.

배열 arr의 길이를 10으로 지정하고 1~10까지 초기화 했다고 합시다. 그런데, 위의 두개 반복문중 한개의 반복문에서 오류가 발생하게 됩니다.


배열의 인덱스의 시작은 0번부터 시작하므로 두 반복문의 i는 모두 0번부터 시작합니다. 그리고, 배열의 길이는 10으로 지정했으니 arr.length는 10이 되겠죠? 그럼 첫번째 반복문은 arr의 0부터 10까지의 인덱스에 접근하게 됩니다. 하지만 배열의 길이는 10이니 0~9까지밖에 존재하지 않습니다. 따라서 10번째 인덱스(arr[10])에 접근하려 할때 오류가 발생하게 됩니다. 따라서 arr.length보다 한칸 더 앞의 인덱스 까지만 접근해야 하기 때문에 i<arr.length와 같은 조건문을 사용해야 합니다.





댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함