mirror of
https://codeberg.org/andyscott/ziglings.git
synced 2024-11-13 21:40:46 -05:00
34 lines
795 B
Zig
34 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!
|
||
|
}
|