diff options
author | Dave Gauer <dave@ratfactor.com> | 2021-02-08 20:35:28 -0500 |
---|---|---|
committer | Dave Gauer <dave@ratfactor.com> | 2021-02-08 20:35:28 -0500 |
commit | cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907 (patch) | |
tree | d0c1af19e12e503a6d720b8e8ef487966e4c7d75 /42_pointers4.zig | |
parent | adf5ddb27df7f5a22b0b7d3321dfc8bca1e7937a (diff) | |
download | ziglings-cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907.tar.gz ziglings-cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907.tar.bz2 ziglings-cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907.tar.xz ziglings-cf0920de31e9b5f3c5ba6de19a1b4c8d0c58b907.zip |
Added Ex. 38-43 for pointers, updated README
Added topics beyond the language basics from ziglearn.org
to the README. That's a lot of exercises. I'd like to keep
it under 100, though!
Diffstat (limited to '42_pointers4.zig')
-rw-r--r-- | 42_pointers4.zig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/42_pointers4.zig b/42_pointers4.zig new file mode 100644 index 0000000..e6b8964 --- /dev/null +++ b/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! +} |