Rust Array

2023. 8. 19. 18:19카테고리 없음

728x90

2판 한국어 번역 내용을 보다가 현재(2023-08-19) 내용으로 부족한 면이 있는 거 같아 추가로 내용을 적는다


rust에서 array의 인덱스가 over 될 경우 친절하게 알려준다.

코드 설명

  • a라는 배열은 0~4까지의 인덱스를 가지고 있다.
  • element에 100이라는 값을 저장 후 a[element]로 참조할 경우 배열의 범위 값을 벗어나기 때문에 에러가 난다

위 예시는 컴파일 시에 컴파일러가 에러 검사를 해주기 때문에 나온 에러인데 만약 런타임에서는 어떻게 될까?

코드 설명

  • a 배열의 범위는 0~4이다
  • element 값에 a[4]의 값, 즉 5가 저장되게 된다

위 코드를 빌드 시 빌드 성공을 한다

하지만 실행 시 위와 같은 에러가 발생한다

이유는 println! 출력 시 a[element]값을 가져올 시 배열 범위를 초과하기 때문에 런타임 에러가 발생한다