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