struct node{
char * title;
char * type;
struct node * next;
};
typedef struct node headPtr;
headPtr * removeFromFront(headPtr * List){
if(List->next==NULL){
return NULL;
}
else {
List=List->next;
return List;
}
}
这是我的结构和我的链接列表功能,用于删除前面的第一个元素,但我无法弄清楚它为什么不起作用。它没有返回我想要的东西。
有人能告诉我我做错了吗?
答案 0 :(得分:2)
代码可以简化为此。
headPtr * removeFromFront(headPtr * List)
{
if(List == NULL)
return NULL;
return List->next;
}
然而,它看起来很好,所以来电方面可能存在问题
答案 1 :(得分:0)
headPtr * removeFromFront(headPtr * List){
if(List != NULL && List->next != NULL){
headPtr *newHead = List->next;
free(List);
return newHead;
}
return NULL;
}