123456789101112131415161718192021222324252627282930 |
- //
- // It's important to note that variable pointers and constant pointers
- // are different types.
- //
- // Given:
- //
- // var foo: u8 = 5;
- // const bar: u8 = 5;
- //
- // Then:
- //
- // &foo is of type "*u8"
- // &bar is of type "*const u8"
- //
- // You can always make a const pointer to a mutable value (var), but
- // you cannot make a var pointer to an immutable value (const).
- // This sounds like a logic puzzle, but it just means that once data
- // is declared immutable, you can't coerce it to a mutable type.
- // Think of mutable data as being volatile or even dangerous. Zig
- // always lets you be "more safe" and never "less safe."
- //
- const std = @import("std");
- pub fn main() void{
- const a: u8 = 12;
- const b: *const u8 = &a; // fix this!
-
- std.debug.print("a: {}, b: {}\n", .{ a, b.* });
- }
|