繁体   English   中英

Malloc 到 Zig 中的结构列表?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM