【发布时间】:2009-12-03 09:45:12
【问题描述】:
我们如何从结构列表中删除其中的一些。删除结构后,不应留下任何空白空间。
尝试以下代码来完成任务,但没有成功。
struct symtab *sp;
for(sp = symtab; sp < &symtab[NSYMS]; sp++)
if(sp->scope == scope) // delete
{
sp = sp+1;
}
【问题讨论】:
-
您确定要将数据放在表中而不是链表中吗?如果你想要快速删除,链表要快得多(free() + 一些指针引用)。使用表格,您需要在内存中移动内容。