diff options
| author | Dave Gauer <dave@ratfactor.com> | 2021-02-09 18:36:57 -0500 |
|---|---|---|
| committer | Dave Gauer <dave@ratfactor.com> | 2021-02-09 18:36:57 -0500 |
| commit | 55ad7c32f2d534b1fbd438204d21738f958c51a5 (patch) | |
| tree | 16be4b53193105a759b3eec25be5e664d41c428d /exercises/42_pointers4.zig | |
| parent | cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907 (diff) | |
Moved exercises to exercises because exercises
Diffstat (limited to 'exercises/42_pointers4.zig')
| -rw-r--r-- | exercises/42_pointers4.zig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/exercises/42_pointers4.zig b/exercises/42_pointers4.zig new file mode 100644 index 0000000..e6b8964 --- /dev/null +++ b/exercises/42_pointers4.zig @@ -0,0 +1,33 @@ +// +// Now let's use pointers to do something we haven't been +// able to do before: pass a value by reference to a function! +// +const std = @import("std"); + +pub fn main() void { + var num: u8 = 1; + var more_nums = [_]u8{ 1, 1, 1, 1 }; + + // Let's pass a reference to num to our function and print it: + makeFive(&num); + std.debug.print("num: {}, ", .{num}); + + + // Now something interesting. Let's pass a reference to a + // specific array value: + makeFive(&more_nums[2]); + + // And print the array: + std.debug.print("more_nums: ", .{}); + for (more_nums) |n| { + std.debug.print("{} ", .{n}); + } + + std.debug.print("\n", .{}); +} + +// This function should take a reference to a u8 value and set it +// to 5. +fn makeFive(x: *u8) void { + ??? = 5; // fix me! +} |
