aboutsummaryrefslogtreecommitdiff
path: root/doc/langref/test_optional_pointer.zig
blob: acad240fd22de35492a4cb3a6b1152045cc444df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const expect = @import("std").testing.expect;

test "optional pointers" {
    // Pointers cannot be null. If you want a null pointer, use the optional
    // prefix `?` to make the pointer type optional.
    var ptr: ?*i32 = null;

    var x: i32 = 1;
    ptr = &x;

    try expect(ptr.?.* == 1);

    // Optional pointers are the same size as normal pointers, because pointer
    // value 0 is used as the null value.
    try expect(@sizeOf(?*i32) == @sizeOf(*i32));
}

// test