繁体   English   中英

结构或指针的结构?

[英]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或类似的东西进行初始化。

我对pointersstructmalloc感到很malloc 我来自Ruby ...

要清楚:

我的book实例不超过64 sheet 也许只使用3个或使用64个...但是我希望能够添加它们并使用0到63之间的数字进行检查。

在某种程度上,它取决于您所说的“更快”。 您的代码如何与这些元素交互将改变这种情况。 一般来说; 但是,几乎没有机会看到CPU时间的任何重大影响。

请注意,在选项2中,Book仅分配了一个指针数组,因此您将不得不添加代码(和开销)来分配Sheets以便将指针指向。

只要您不打算在某些图纸之间共享书本,第一种选择似乎比较干净。

同样,如果您要复制书籍,则选项2会更快,因为您将只复制指针而不是整个Sheet结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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