链串,2个串合成一个串时候的操作疑问........相信是大家共同的问题
typedef struct node{
struct node *next;
}LiString;
void concat(LiString *s1,LiString *s2,LiString *&s)
{
node *p,*q,*r; //1.为什么要声明为node结构体?而不是LiString类型?
s=(LiString *)malloc(sizeof(LiString));
//2.s分配好内存之后,与未分配内存的时候有什么区别?
s->next=null;
r=s; //3.s已经分配好了内存,而r没有,并且s是LiString类型指针,而r是结构体指针,怎么能赋值?
while(p!=null)
{
q=(LiString *)malloc(sizeof(LiString));
q->data=p->data;
r->next=q;
r=q; //4.r=q,是怎么样的? p=p->next;
}
----------------------------------------------------------------------------------------------------
望各位JJMM不理赐教!