簡體   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