값을 묶는 내장 방법 두 개: 튜플 (혼합 타입, 고정 개수) 과 배열 (한 타입, 고정 개수). 둘 다 스택에 살고, 둘 다 컴파일 타임에 크기가 알려져 있어.
튜플
튜플은 다른 타입일 수 있는 값 고정 개수를 묶어: (i32, f64, char). let 패턴으로 구조분해하거나, .0, .1 로 위치로 필드에 닿아. 튜플은 일회성에 struct 를 만들지 않고 함수에서 여러 값을 반환할 때 빛나.
배열
배열은 한 타입의 고정 길이 줄이야: [i32; 4] 는 정확히 i32 네 개, 스택 할당, 길이가 타입에 구워져 있어. 인덱싱은 경계 검사돼 — 끝을 넘으면 엉뚱한 메모리를 읽는 대신 Rust 가 panic 해 (C 버퍼 오버런, 제거됨). 자라는 시퀀스는 Vec 을 원하고, Collections 트랙이 다뤄.
배열 vs Vec: 스택 vs 힙, 고정 vs 자람. 배열
[T; N] 은 컴파일 타임 길이를 갖고 스택에 살아. Vec 은 런타임에 자라고 힙에 살아. 크기가 진짜 고정이고 알려져 있으면 배열; 자라야 하는 순간 `Vec` 으로 손 뻗어.구조분해는 사방에 있어
let 에서 튜플을 패턴 구조분해하는 게 언어 전체를 관통하는 Rust 패턴 매칭의 첫 맛이야. let (x, y) = point; 는 두 값을 한 번에 꺼내 — 이 같은 모양을 나중에 match, 함수 파라미터, if let 에서 보게 돼.