배열 타입

배열 타입 ([T; N])

여러 값을 순서대로 묶어서 관리하고 싶을 때 가장 먼저 떠오르는 게 배열이에요. Rust에서 배열은 고정된 크기의 시퀀스라서, 크기가 정해지면 바꿀 수 없습니다. 이 타입은 [T; N] 형태로 적어요.

출처: Rust Reference

본문

배열은 타입 T의 원소 N개를 고정 크기로 나열한 시퀀스예요. 배열 타입은 [T; N]으로 표현합니다.

문법

ArrayType → [ Type ; Expression ]

크기 조건

배열의 크기는 usize로 평가되는 상수 표현식(constant expression)이어야 해요.

실제로 배열을 만들면 이렇게 되죠.

#![allow(unused)]
fn main() {
// 스택에 할당되는 배열
let array: [i32; 3] = [1, 2, 3];

// 힙에 할당되어 슬라이스로 강제 변환되는 배열
let boxed_array: Box<[i32]> = Box::new([1, 2, 3]);
}

접근과 초기화

배열의 모든 원소는 항상 초기화되어 있어요. 그리고 안전한 메서드와 연산자에서는 배열에 접근할 때 **항상 경계 검사(bounds check)**를 수행합니다.

참고: 표준 라이브러리의 Vec<T> 타입은 힙에 할당되는 크기를 바꿀 수 있는(resizable) 배열 타입이에요. 고정 크기가 필요할 땐 배열, 늘렸다 줄였다 해야 하면 Vec을 쓰면 됩니다.

더 알아보기