我發現這個事情有點棘手和遞歸,如何sizeof運算符計算鏈接列表中的一個節點的大小。我有下面的結構,一個節點列表,例如:鏈接列表節點的大小
struct ll_core
{
char c_ll;
struct ll_core * next;
};
printf("size of struct ll_core = %d\n\n",sizeof(struct ll_core));
它給了我一個答案8.現在是怎麼做的決定大小8,因爲添加單獨的結構元素的尺寸也agains遇到同樣的struct ll_core。所以這是計算大小時的一種循環或遞歸。請原諒我,讓我知道如果我在思考這件事的時候想念我腦海中的任何基本事物。
因此,通過這個答案和所有其他人的理解,32位機器(我的32位也是這樣)以4字節塊讀/寫數據,這使得這個結構如下: (c_ll 1byte + 3byte padding) - 4bytes struct ll_core * next - 4bytes 因此加起來最多8個字節.. !! –
是的,沒錯 – Sanish