[英]Struct of struct or pointer?
最好/最快的方法是什么?
结构的结构:
struct Sheet{
u8 status; // to check if empty ?
u8 reserve0;
u8 reserve1;
u8 reserve2;
struct words words[1024];
};
struct Book {
int id;
struct Sheet sheet[64];
};
在这种情况下,如何检查sheet
的表是空的或不是? 我需要为每张纸添加status
吗?
要么
指针结构表
struct Sheet{
u8 reserve0;
u8 reserve1;
u8 reserve2;
struct words words[1024];
};
struct Book {
int id;
struct Sheet* sheet[64];
};
我不需要使用malloc
因为它们是固定表。
在struct的struct中 ,我可以通过设置status
进行初始化,但是对于struct的指针 ,我可以使用bookinstance.sheet[] = NULL
或类似的东西进行初始化。
我对pointers
, struct
和malloc
感到很malloc
。 我来自Ruby
...
要清楚:
我的book
实例不超过64 sheet
。 也许只使用3个或使用64个...但是我希望能够添加它们并使用0到63之间的数字进行检查。
在某种程度上,它取决于您所说的“更快”。 您的代码如何与这些元素交互将改变这种情况。 一般来说; 但是,几乎没有机会看到CPU时间的任何重大影响。
请注意,在选项2中,Book仅分配了一个指针数组,因此您将不得不添加代码(和开销)来分配Sheets以便将指针指向。
只要您不打算在某些图纸之间共享书本,第一种选择似乎比较干净。
同样,如果您要复制书籍,则选项2会更快,因为您将只复制指针而不是整个Sheet结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.