紧急求助:使用了嵌套结构体的顺序表编译通过,运行出现段错误。
我想传一个car进去,然后输出number,time。下面是测试代码
#include <stdio.h>
#include <stdlib.h>
#define N 64
typedef int datatype;
typedef struct{
int number; //车牌号
int time; //到达或离开的时刻
}CarType;//,TCarType;
typedef struct
{
CarType *data;
int last;//表当前大小
int size;//顺序表容量
} sqlist;
datatype CreateEmptyList(sqlist *L)
{
L=(sqlist *)malloc(sizeof(sqlist));
L->data = (CarType *)malloc(sizeof(CarType));
L->last = -1;
L->size=N;
return 1;
}
datatype InsertList(sqlist *L, CarType x)
{ printf("jinbiao \n");
// L->data++;
L->data=&x;//之前CarType *x时,x=L->data也错
L->last++;
printf("jinbiao one\n");
printf("%d\n",L->data->time);
printf("%d",x.time);
printf("jinbiao tow\n");
return 0;
}
int main()
{
sqlist *L;
CarType car;
car.number=2;
car.time=3;
CreateEmptyList(L);
InsertList(L,car);
}