求助各位高手教教我这个菜鸟,用eclipse写的C程序win 7下一运行就死了……
#include <stdio.h>#include <malloc.h>#define STUDENT Elemtype#define LIST_INIT_SIZE 100#define LISTICREMENT 10#define OVERFLOW -2#define OK 1#define ERROR 0typedef int Status;typedef struct{ char name; int age; int chass;}STUDENT;typedef struct{ Elemtype *elem; int length; int listsize;}Sqlist;Status InitList_Sq(Sqlist *L){ (*L).elem=(Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype)); if(!(*L).elem) exit(OVERFLOW); L->length=0; L->listsize=LIST_INIT_SIZE; return OK;} Status ListInsert_Sq(Sqlist *L,int i,Elemtype e){ if(i<1||i>L->length+1) return ERROR; if(L->length>=L->listsize) { Elemtype *newbase; newbase=(Elemtype *)realloc(L->elem,(L->listsize+LISTICREMENT)*sizeof(Elemtype)); if(!newbase) exit(OVERFLOW); L->elem=newbase; L->listsize+=LISTICREMENT; } Elemtype *p,*q; p=L->elem+i-1; for(q=L->elem+L->length;q>=p;q--){ *(q+1)=*q; } p=&e; L->length++; return OK;}Status GetElem(Sqlist *L,int i,Elemtype *e){ if(i<1||i>L->length) return ERROR; e=L->elem+i-1; return OK;}int main(){ Sqlist *L=NULL; Elemtype student; Elemtype *stu1=NULL; int status1,status2; student.name='a'; student.chass=1; student.age=20; InitList_Sq(L); status1=ListInsert_Sq(L,1,student); status2=GetElem(L,1,stu1); printf("%d/n",L->length); return 0;}