Skip to content

Commit 63d2c95

Browse files
committed
add pointer
1 parent f79c652 commit 63d2c95

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

pointer/basic.zig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const std = @import("std");
2+
3+
pub fn main() void {
4+
const value: u8 = 32;
5+
const ptr = &value;
6+
const deref = ptr.*;
7+
8+
std.debug.print("Pointer: {}, Deref: {}", .{ ptr, deref });
9+
}

pointer/modify.zig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
const std = @import("std");
2+
3+
pub fn main() void {
4+
var var_value: u8 = 32;
5+
const const_ptr = &var_value;
6+
std.debug.print("Value: {}\n", .{const_ptr.*});
7+
8+
const_ptr.* += 100; // Modify value (value is var)
9+
std.debug.print("Value: {}\n", .{const_ptr.*});
10+
11+
std.debug.print("-----\n", .{});
12+
13+
const const_value: u8 = 32;
14+
var var_ptr = &const_value;
15+
std.debug.print("Value: {}\n", .{var_ptr.*});
16+
17+
var_ptr = &var_value; // Modify pointer (pointer is var)
18+
std.debug.print("Value: {}\n", .{var_ptr.*});
19+
}

pointer/readme.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Pointer
2+
3+
```bash
4+
$ zig run basic.zig
5+
Pointer: u8@e5068a, Deref: 32
6+
```
7+
8+
```bash
9+
$ zig run modify.zig
10+
Value: 32
11+
Value: 132
12+
-----
13+
Value: 32
14+
Value: 132
15+
```

0 commit comments

Comments
 (0)