[英]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.