Pointers and Memory¶
Pointer Type: link¶
Address-of: mark¶
Dereference: reach¶
Example¶
craft main() -> void {
make shift x: i32 = 42;
make shift p: link i32 = mark x;
print(reach p); // 42
reach p = 100;
print(x); // 100
send;
}
Null Pointers¶
Use 0 or a cast when interfacing with C. Dereferencing null is undefined behavior.
C Mapping¶
| Q++ | C |
|---|---|
link T |
T* |
mark x |
&x |
reach p |
*p |