0
我的結構數組有5個插槽複製一個結構陣列到另一個結構數組,它是較小
struct router* router[5];
比方說裏面有他們的元素,然後我讓
router[3] = NULL;
是否有可能重新排列數組,使路由器[4]中的元素移動到路由器[3],路由器[5]移動到路由器[4]等。
我的結構數組有5個插槽複製一個結構陣列到另一個結構數組,它是較小
struct router* router[5];
比方說裏面有他們的元素,然後我讓
router[3] = NULL;
是否有可能重新排列數組,使路由器[4]中的元素移動到路由器[3],路由器[5]移動到路由器[4]等。
試試這個
void delete(struct router** router, int which, int size) {
int i;
// If these pointers have no other references to them then
// Then you should free the one being deleted at this point
for(i = which; i < size - 1; i++) {
router[i] = router[i + 1];
}
router[i] = NULL;
}
當然,這是可能的。只需使用賦值運算符或'memmove'。 'route [3] = router [4];路由器[4] = NULL;'。或者如果你真的想要問一些不同的東西,請澄清你的問題。 – kaylum
由於您可能需要使代碼對'NULL'條目具有彈性,您可能會考慮這樣做,並將NULL留在陣列的中間。 – jxh
還要注意,沒有'router [5]'元素作爲'router [4]'是數組中最後一個有效元素。 – kaylum