我認爲螺柱()節目中途終止
struct stud
{
int flag;
char surname[90];
int semester;
};
int prepush(int *stack,int *head,int *n)
{
int c,r;
int *p;
printf("[1].Add Student\n");
printf("[2].Add Proffesor\n");
do
{
printf("Pick:");
scanf("%d",&c);
getchar();
}while(c!=1&&c!=2);
switch(c)
{
case 1:p=stud();break;
case 2:p=prof();break;
}
r=push(stack,&head,&n,p);
return r;
}
我不知道結束後終止該怎麼回這樣我就可以把它放在我的stack..adress還是什麼
int stud()
{
struct stud a,*p;
p=(void *)malloc(sizeof(a));
p->flag=1;
printf("Give surname:");
gets(p->surname);
printf("\nGive semester:")
scanf("%d",p->semester);
return p;
}
這就是我所說的 r = push(stack,& head,& n,p);
int push(int *stack,int *head,int *n,int *p)
{
if(*head==*n)
return 0;
stack[*head++]=p;
return 1;
}
其實我是想放入堆棧指針是指向結構
如果你在64位系統上遇到很大麻煩,因爲int的大小是32位,而指針是64位。 –
我在32位。 –
你仍然不應該使用int來存儲指針。 –