mirror of
https://codeberg.org/ziglings/exercises.git
synced 2024-12-26 01:20:30 +00:00
cf0920de31
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!
33 lines
795 B
Zig
33 lines
795 B
Zig
//
|
|
// 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!
|
|
}
|