谁帮我看下这个怎么改啊
// jihe.cpp : Defines the entry point for the console application.//
#include "stdafx.h"
#include "malloc.h"
#define max 100
typedef struct{
char data;
int cur;
}component,SLinklist[max];
void InitSpace(SLinklist space)
{
int i;
for( i=0;i<max-1;i++) space[i].cur=i+1;
space[max-1].cur=0;
}
int Malloc(SLinklist &space){
int i;
i=space[0].cur; //i=1,
if(space[0].cur) space[0].cur=space[i].cur; //
return i;
}
void free(SLinklist &space,int k){
space[k].cur=space[0].cur,space[0].cur=k;
}
void difference(SLinklist &space,int &S){
int r,i,j,p,k;
int n,m;
char b;
InitSpace(space);
S=Malloc(space); //S=1
r=S; //r=S=1
printf("%d\n",r);
printf("集合A元素的个数n:\n");
scanf("%d",&n);
printf("集合B元素的个数m:\n");
scanf("%d",&m);
for(j=1;j<=n;j++) {
i=Malloc(space); //i=2.i=3
printf("%d\n",i);
printf("元素A:\n");
scanf("%c",&space[i].data);
printf("********************************\n");
space[r].cur=i;
r=i;//r=2,=3
}
space[r].cur=0;
for(j=1;j<=m;j++){
printf("元素B:\n");
scanf("%c",&b);
printf("********************************\n");
p=S;
k=space[S].cur;
while(k!=space[r].cur&&b!=space[k].data) p=k,k=space[k].cur;
if(k==space[r].cur) {
i=Malloc(space);
space[i].data=b;
space[i].cur=space[r].cur;
space[r].cur=i;
}
else{
space[p].cur=space[k].cur;
free(space,k);
if(r==k) r=p;
}
}
}
void main()
{
SLinklist space;
int S;
int i=2;
difference(space,S);
while(space[i].cur){
i++;
printf("%c\n",space[i].data);
}
}