summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exercises/040_pointers2.zig16
-rw-r--r--patches/patches/040_pointers2.patch4
2 files changed, 18 insertions, 2 deletions
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.
diff --git a/patches/patches/040_pointers2.patch b/patches/patches/040_pointers2.patch
index acdd619..a8ce293 100644
--- a/patches/patches/040_pointers2.patch
+++ b/patches/patches/040_pointers2.patch
@@ -1,5 +1,5 @@
---- exercises/040_pointers2.zig 2023-10-03 22:15:22.122241138 +0200
-+++ answers/040_pointers2.zig 2023-10-05 20:04:07.022766257 +0200
+--- exercises/040_pointers2.zig 2026-05-22 21:57:28.601255748 +0200
++++ answers/040_pointers2.zig 2026-05-22 21:57:27.672235943 +0200
@@ -23,7 +23,7 @@
pub fn main() void {