0
我想要做的是用my other question代表代碼。如何創建一個表的鏈表,一個表代表一組元素
基本上我需要在內存中保留一個元素表(結構),沒有固定數量的元素可以存在,但它很小,但我仍然不能使用數組。
而且我不想使用元素的鏈接列表,因爲我不想每次需要更改任何內容時都繼續添加和刪除元素。
相反,我想要做的是用一個malloc分配一塊內存,那塊內存就足夠大,可以放100個元素,如果在極少數情況下需要更多,我可以分配另一塊大塊的100個元素,並將其鏈接到原來的....
這是一個好主意嗎?這種結構有沒有名字?它有點像動態擴展數組?人們真的使用這個嗎?或者我只是在破解?如果這是個壞主意,你推薦使用什麼?
感謝
typedef struct Tb{
POINT points;
POINT *next;
} TABLE;
typedef struct Pt{
int x;
int y;
}POINT;
POINT *mypoints;
int a = 10;
int b = 1000;
mypoints = (POINT*) malloc (100 * sizeof(POINT));
for (int i =0; i < 100; i++) {
mypoints->x = a++;
mypoints->y = b++;
++mypoints;
}
好的,謝謝,它叫什麼?我可以使用任何術語在Google上查找其他一些真實世界的示例,也許是一些示例代碼? 將POINT * next元素添加到我的POINT結構中會是一個糟糕/好主意嗎? – emge 2010-06-24 03:18:07
@emge如果您使用列表或樹進行跟蹤,則稱它爲堆。一個Vector,如果你有一個動態數組 – 2010-06-24 03:26:13