C上函数中的指针

C上函数中的指针,c,function,pointers,C,Function,Pointers,我正在重温链表数据结构,我的教科书创建了如下函数: void *insert_beginning(){ struct node *new_node; new_node = (struct node*)malloc(sizeof(struct node)); printf("\n Enter the data : "); scanf("%d", &new_node->data); new_node->next = link;

我正在重温链表数据结构,我的教科书创建了如下函数:

void *insert_beginning(){
    struct node *new_node;
    new_node = (struct node*)malloc(sizeof(struct node));

    printf("\n Enter the data : ");
    scanf("%d", &new_node->data);

    new_node->next = link;
    link = new_node;
}
void*insert_开头是什么意思?
此方法还在函数返回非void时给我一个警告
不返回

如果我删除
*
,为什么会出错


注:我的链表项目可以完美地运行这些功能,但我只是好奇。它与链表无关

声明
void*insert\u start
意味着函数名为
insert\u start
,返回类型应该是
void
指针,从某种意义上说,它是一个非类型指针。但是,函数的实现没有
return
语句,这会导致警告


没有更多的上下文很难判断,但是返回类型应该是
void
而不是
void*
,或者应该有一些返回语句,比如
returnnew\u node
,它将指向新分配内存的指针传递给调用者。

函数返回
void*
,这是一个指向type
void
的指针,但是在最后一个
}
之前的某个地方没有
return
语句,因此出现了警告。如果您不想返回任何内容,请将
void*
替换为
void
。谢谢您的帮助。是的,它只适用于无效返回类型。我只需要清理我的项目LoL。老实说,我真的不了解非类型指针。但这就足够了,我优先考虑数据结构而不是c语言