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;
}
}
这是我的结构和我的链表函数,用于删除前面的第一个元素,但我不知道为什么它不工作。它没有返回我想要的结果
谁能告诉我我做错了什么?代码可以简化为:
headPtr * removeFromFront(headPtr * List)
{
if(List == NULL)
return NULL;
return List->next;
}
但是,它看起来很好,所以调用方可能有问题
headPtr * removeFromFront(headPtr * List){
if(List != NULL && List->next != NULL){
headPtr *newHead = List->next;
free(List);
return newHead;
}
return NULL;
}