From 1d965491c107489b2fcb1d9e304ad7e71b9d391e Mon Sep 17 00:00:00 2001 From: Chris Boesch Date: Fri, 22 May 2026 21:58:19 +0200 Subject: added expalantion for const pointer --- exercises/040_pointers2.zig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'exercises') diff --git a/exercises/040_pointers2.zig b/exercises/040_pointers2.zig index a4852f6..e220336 100644 --- a/exercises/040_pointers2.zig +++ b/exercises/040_pointers2.zig @@ -27,3 +27,19 @@ pub fn main() void { std.debug.print("a: {}, b: {}\n", .{ a, b.* }); } +// +// A look into the future: +// When you allocate memory, you store the returned address in +// a const var. The pointer itself never changes — it always +// refers to the same allocation — but you can still read and +// write the data it points to. +// +// Example: +// +// const buf = try allocator.alloc(u8, 1024); +// buf[0] = 42; // fine: the *contents* are mutable +// +// Note: +// Passing this pointer to a function is cheap: it's just an address +// copied on the stack. The caller can work with the data without +// needing to know where it came from or how it was allocated. -- cgit v1.2.3