指针传入传出问题
#include<iostream>using namespace std;
struct list
{
list *next;
int data;
int chishu;
};
void jipaixu(list *d,int b)
{
list *q;
list *w;
int x;
x=b%10;
w=d;
printf("*******");
for(int i=0;i<d->chishu;i++)
{
w=w->next;
}
printf("*******");
int c;
q=(struct list*)malloc(sizeof(struct list));
q->data=b;
q->next=NULL;
w->next=q;
w=w->next;
printf("%d",w->data);
}
int main()
{ int a,b,c,d;
list e[9];
list k[9];
list *l=&e[2];
//l=l->next;
//l=l->next;
//e[2]=(struct list*)malloc(sizeof(struct list));
//k[9]=e[9];
printf("请输入数据,输入1000结束");
while(1)
{
scanf("%d",&a);//输入102
if(a==1000)
{
break;
}
else
{
b=a%10;
jipaixu(&k[b],a);
// l=l->next; 不屏蔽这个就停止工作
printf("%d",l->data);
k[b].chishu++;
}
printf("******");
}
printf("%d",e[2].data);
return 0;
}
我想做一个数组指针,就是每个a[i]里面的数据是用链表连接起来的。我原意是建立链接型的指针,用l指向数组k,因为k[2]的头是空的,所以我写了l=l->next(上面我屏蔽了这条),但是停止工作了,想着是不是我创建链表没有传出指针,求大神解答,怎么改??