回 帖 发 新 帖 刷新版面

主题:急呀

typedef struct node{
char data;
struct node *next;
}linkstrnode;
typedef linkstrnode *linkstring;中的*linkstring是什么意思
/*字符单链表的一些操作*/
#define NULL 0
typedef struct node
       {char data;
       struct node *next;
       }linkstrnode;
typedef linkstrnode *linkstring;
void strcreate(linkstring *s)/*建单链表并插入字符*/
{char ch;
linkstrnode *p,*r;
*s=NULL;
r=NULL;
while((ch=getchar())!='\n')
{p=(linkstrnode*)malloc(sizeof(linkstrnode));
p->data=ch;
if(*s==NULL)
*s=p;
else r->next=p;
r=p;
}
if(r!=NULL) r->next=NULL;
}
void strprint(linkstring *s)
{linkstring p;
p=*s;
if(!p)printf("is empty");
else
while(p)
{printf("%2c",p->data);p=p->next;}
}
main()
{linkstring *q;
strcreate(q);/*调用链式串*/
strprint(q);/*打印链式串*/
getch();
}
我哪里调用错了,谢谢指点

回复列表 (共3个回复)

沙发

typedef linkstrnode *linkstring;中的*linkstring是什么意思
这个是重定义一个linkstrnode的指针类型。就是说如果你写
linkstring ptr;那么这个这个ptr就是linkstrnode*类型的。

板凳

[quote]这个是重定义一个linkstrnode的指针类型[/quote]
不是重定义,而是给这个类型起个新的名字

3 楼


说清楚一点啊
我还是看不明白
我是初学数据结构啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册