c语言自定义函数加星号是什么意思?

自定义函数加星号是什么意思?
如:sqlist *creat(void)
能详细说一下嘛?我想做一个创建链表->输入->打印链表的程序,该链表包括学号,姓名,性别,年龄,如果自定义函数为sqlist *creat(void) 代表返回一个指针,那主函数当中应怎么写打印?描述即可 好吧....

#include<malloc.h>
#include<stdio.h>
#include<stlib.h>
#include<string.h>

struct student
{
int num;
char name[20];
char sex;
int age;
struct student *next;
};
typedef struct student sqlist;

sqlist *creat(void);
Void main()
{

}

sqlist *creat(void)
{
sqlist *head,*P1,*P2;
int n=0;
P1=(sqlist *)malloc(sizeof(sqlist));
scanf("%d,%s,%c,%d",&P1->num,&P1->name,&P1->sex,&P1->age);
while(P1->num!=0)
{
n++;
if(n==1) {head=P1;P2=P1;}
else {P2->next=P1;P2=P1;}
P1=(sqlist *)malloc(sizeof(sqlist));
scanf("%d,%s,%c,%d",&P1->num,&P1->name,&P1->sex,&P1->age);
}
P2->next=NULL;
return head;
}
主函数怎写?

1.
c语言在定义变量时加两个星号是表明这个变量为二级指针
2.
c语言中在定义变量时使用
*
号是为了表明该变量为指针
3.
指针有分一级指针,二级指针,三级指针等,有几个
*
号就相当于是几级指针
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-28
函数定义前加星号应该指的是返回值是一个指针(即地址)
第2个回答  2009-10-18
sqlist *creat(void) 代表返回一个指针

写成下面这样清楚点
sqlist* creat(void);

main()
{
sqlist *head;
head=creat();
}
第3个回答  2009-10-18
把程序 贴出来 看看 讨论讨论
第4个回答  2009-10-18
加*号的是指针类型,这个概念比较复杂,你还是看书比较好
相似回答