【发布时间】:2020-07-26 11:36:14
【问题描述】:
如果我有这些结构:
typedef struct item
{
type data;
struct item *next;
} Item;
typedef struct list
{
Item *head;
} List;
还有一个指向我要删除的节点的指针:Item * toDelete,它属于列表 List lst,
可以使用以下函数删除节点吗?:
void delete(Item * toDelete, List * lst){
Item * tmp=lst->head;
while (tmp->next!=toDelete){
tmp=tmp->next;
}
tmp->next=toDelete->next;
free(toDelete);
}
或者换句话说,在结构的两个指针之间进行比较是否合法?
【问题讨论】:
-
如果它们是相同的类型是合法的。所以,你的情况是合法的
标签: c pointers linked-list singly-linked-list function-definition