[英]Malloc to a list of struct in Zig?
如何動態分配 memory 空間並獲取指向 Zig 中結構列表的指針。
就像在 C 中一樣:
struct Foo* my_array_of_foo = (struct Foo*) malloc(10*sizeof(Foo));
const allocator: *std.mem.Allocator = std.heap.page_allocator;
const my_slice_of_foo: []Foo = allocator.alloc(Foo, 10);
這將分配一個長度為 10 的切片。稍后可以使用allocator.free(my_slice_of_foo)
釋放它
在 zig 中,arrays 通常表示為切片,其中包含指針和項目數( struct {ptr: [*]type, len: usize}
)。 分配器有一個 function .create(type)
來為單個值分配空間並返回一個指針,還有一個 function .alloc(type, count)
來分配一個連續的數組並返回一個切片。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.