Bird
Raised Fist0
Rustprogramming~5 mins

Array basics in Rust

Choose your learning style10 modes available
Introduction

Arrays help you store many values together in one place. They keep things organized and easy to find.

When you want to keep a list of your favorite colors.
When you need to store daily temperatures for a week.
When you want to remember scores of players in a game.
When you want to process a fixed number of items one by one.
Syntax
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.

Examples
Examples show an array with 3 numbers, an empty array, one with a single value, and one with four zeros.
Rust
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];
}
Sample Program

This program shows how to create an array, print it, access specific items, and change a value by making a mutable copy.

Rust
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);
}
OutputSuccess
Important Notes

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.

Summary

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

(1/5)
1. What is true about arrays in Rust?
easy
A. Their size can change after creation.
B. They store multiple values of the same type in a fixed-size list.
C. They can store values of different types together.
D. They do not allow access by index.

Solution

  1. Step 1: Understand array type restrictions

    Arrays in Rust hold values all of the same type, ensuring type safety.
  2. Step 2: Understand array size behavior

    Arrays have a fixed size that cannot be changed after creation.
  3. Final Answer:

    They store multiple values of the same type in a fixed-size list. -> Option B
  4. Quick Check:

    Array = fixed size + same type [OK]
Hint: Remember: Rust arrays are fixed size and single type [OK]
Common Mistakes:
  • Thinking arrays can hold mixed types
  • Assuming arrays can grow or shrink
  • Believing arrays don't use indexes
2. Which of the following is the correct way to declare an array of 3 integers in Rust?
easy
A. let arr = [1, 2, 3];
B. let arr = (1, 2, 3);
C. let arr = {1, 2, 3};
D. let arr = <1, 2, 3>;

Solution

  1. Step 1: Identify Rust array syntax

    Arrays use square brackets [] with comma-separated values.
  2. Step 2: Check other options

    Parentheses () create tuples, curly braces {} are blocks, angle brackets <> are not valid here.
  3. Final Answer:

    let arr = [1, 2, 3]; -> Option A
  4. Quick Check:

    Array syntax uses [] [OK]
Hint: Arrays use square brackets [] with commas [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Confusing arrays with tuples
  • Using invalid symbols like {} or <>
3. What will be the output of this Rust code?
let arr = [10, 20, 30, 40];
println!("{}", arr[2]);
medium
A. Index out of bounds error
B. 20
C. 40
D. 30

Solution

  1. Step 1: Understand array indexing

    Rust arrays start indexing at 0, so arr[2] is the third element.
  2. Step 2: Identify the element at index 2

    The elements are [10, 20, 30, 40], so arr[2] is 30.
  3. Final Answer:

    30 -> Option D
  4. Quick Check:

    Index 2 = 30 [OK]
Hint: Count from zero to find the correct index [OK]
Common Mistakes:
  • Starting count at 1 instead of 0
  • Confusing element positions
  • Expecting runtime error for valid index
4. Find the error in this Rust code snippet:
let arr = [1, 2, 3];
println!("{}", arr[3]);
medium
A. No error, prints 3
B. Type mismatch error
C. Index out of bounds error at runtime
D. Syntax error due to missing semicolon

Solution

  1. Step 1: Check array length and index used

    The array has 3 elements with indexes 0, 1, 2. Index 3 is invalid.
  2. Step 2: Understand Rust runtime behavior

    Accessing arr[3] causes a runtime panic due to index out of bounds.
  3. Final Answer:

    Index out of bounds error at runtime -> Option C
  4. Quick Check:

    Invalid index causes runtime panic [OK]
Hint: Check if index is less than array length [OK]
Common Mistakes:
  • Assuming index 3 is valid for 3-element array
  • Confusing syntax error with runtime error
  • Ignoring Rust's panic on invalid index
5. You want to create an array of 5 zeros in Rust. Which code correctly does this?
hard
A. let arr = [0; 5];
B. let arr = [0, 5];
C. let arr = [5; 0];
D. let arr = [0] * 5;

Solution

  1. Step 1: Understand Rust array repetition syntax

    The syntax [value; count] creates an array repeating value count times.
  2. Step 2: Check each option

    let arr = [0; 5]; uses [0; 5], which creates 5 zeros. Others are invalid or create wrong arrays.
  3. Final Answer:

    let arr = [0; 5]; -> Option A
  4. Quick Check:

    Use [value; count] to repeat values [OK]
Hint: Use [value; count] to make repeated arrays [OK]
Common Mistakes:
  • Using commas instead of semicolon for repetition
  • Confusing multiplication syntax with arrays
  • Reversing value and count in repetition
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard