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!
This commit is contained in:
Dave Gauer 2021-02-08 20:35:28 -05:00
parent adf5ddb27d
commit cf0920de31
8 changed files with 252 additions and 12 deletions

33
42_pointers4.zig Normal file
View file

@ -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!
}