Arrays help you store many values together in one place. They keep things organized and easy to find.
Array basics in Rust
fn main() {
let array_name: [type; size] = [value1, value2, value3, ...];
}The type is the kind of values the array holds, like i32 for numbers.
The size is how many values the array can hold, and it must be fixed.
fn main() {
let numbers: [i32; 3] = [10, 20, 30];
let empty_array: [i32; 0] = [];
let single_value: [i32; 1] = [5];
let all_zeros: [i32; 4] = [0; 4];
}This program shows how to create an array, print it, access specific items, and change a value by making a mutable copy.
fn main() {
// Create an array of 5 numbers
let favorite_numbers: [i32; 5] = [3, 7, 9, 2, 5];
// Print the whole array
println!("Favorite numbers: {:?}", favorite_numbers);
// Access and print the first and last number
println!("First number: {}", favorite_numbers[0]);
println!("Last number: {}", favorite_numbers[4]);
// Change a value by creating a mutable copy
let mut mutable_numbers = favorite_numbers;
mutable_numbers[2] = 10;
println!("Changed numbers: {:?}", mutable_numbers);
}Accessing an array index outside its size causes a program crash (panic).
Arrays have fixed size; you cannot add or remove items after creation.
Use arrays when you know the number of items in advance and it won't change.
Arrays store multiple values of the same type in a fixed-size list.
You access items by their position using square brackets, starting at zero.
Arrays are simple and fast but cannot grow or shrink after creation.
Practice
Solution
Step 1: Understand array type restrictions
Arrays in Rust hold values all of the same type, ensuring type safety.Step 2: Understand array size behavior
Arrays have a fixed size that cannot be changed after creation.Final Answer:
They store multiple values of the same type in a fixed-size list. -> Option BQuick Check:
Array = fixed size + same type [OK]
- Thinking arrays can hold mixed types
- Assuming arrays can grow or shrink
- Believing arrays don't use indexes
Solution
Step 1: Identify Rust array syntax
Arrays use square brackets [] with comma-separated values.Step 2: Check other options
Parentheses () create tuples, curly braces {} are blocks, angle brackets <> are not valid here.Final Answer:
let arr = [1, 2, 3]; -> Option AQuick Check:
Array syntax uses [] [OK]
- Using parentheses instead of brackets
- Confusing arrays with tuples
- Using invalid symbols like {} or <>
let arr = [10, 20, 30, 40];
println!("{}", arr[2]);Solution
Step 1: Understand array indexing
Rust arrays start indexing at 0, so arr[2] is the third element.Step 2: Identify the element at index 2
The elements are [10, 20, 30, 40], so arr[2] is 30.Final Answer:
30 -> Option DQuick Check:
Index 2 = 30 [OK]
- Starting count at 1 instead of 0
- Confusing element positions
- Expecting runtime error for valid index
let arr = [1, 2, 3];
println!("{}", arr[3]);Solution
Step 1: Check array length and index used
The array has 3 elements with indexes 0, 1, 2. Index 3 is invalid.Step 2: Understand Rust runtime behavior
Accessing arr[3] causes a runtime panic due to index out of bounds.Final Answer:
Index out of bounds error at runtime -> Option CQuick Check:
Invalid index causes runtime panic [OK]
- Assuming index 3 is valid for 3-element array
- Confusing syntax error with runtime error
- Ignoring Rust's panic on invalid index
Solution
Step 1: Understand Rust array repetition syntax
The syntax [value; count] creates an array repeating value count times.Step 2: Check each option
let arr = [0; 5]; uses [0; 5], which creates 5 zeros. Others are invalid or create wrong arrays.Final Answer:
let arr = [0; 5]; -> Option AQuick Check:
Use [value; count] to repeat values [OK]
- Using commas instead of semicolon for repetition
- Confusing multiplication syntax with arrays
- Reversing value and count in repetition
Ready to prove it?
Pass the test and this pattern moves unknown
