Zig·Zig essentials

Memory and allocators

Zig passes allocators explicitly, so ownership is visible.

Advanced 10 min read Lesson 3 of 150 Challenge included
What you will be able to do
  • Use std.heap.page_allocator.
  • Free what you allocate.
  • Use defer for cleanup.

In plain English

Zig passes allocators explicitly, so ownership is visible.

  • Use std.heap.page_allocator.
  • Free what you allocate.
  • Use defer for cleanup.
memory.zigZIG
const std = @import("std");

pub fn main() !void {
    const allocator = std.heap.page_allocator;
    const buffer = try allocator.alloc(u8, 16);
    defer allocator.free(buffer);
}
Your turn

Explain it back

Easy

Answer from memory: Why are allocators explicit?

TEXT · starter
Your answer…
Check your understanding before moving on.
Knowledge checkQuestion 1

Why are allocators explicit?

Select an answer to continue
Study tools

Make it yours.

Keep a private note for this lesson, then turn the key ideas into flashcards you can revisit.

Sign in to save notes and flashcards.Both are private to your account and stay with your progress.
Sign in
Finished reading?

Lock in what you just learned.

Mark this lesson complete to save your place and move one step closer to the certificate.

Next: Comptime
Lesson 3 of 150 · 0% of course