这两天在写一个linux下的C项目,需要控制一张临时表,这张表由动态结构体数组构成。
需要实现动态数组的创建及其操作
结构体如下所示:
/*创建一个基站的动态数组的结构体*/
typedef struct base_array{
int size ;
int count ;
struct base *data;
}base_array;
/*创建一个基站的结构体*/
typedef struct base{
char id[6] ;
int led;
int way;
struct locomotive *next ;
}base;
/*创建一个基站的动态数组*/
void create_base_table(base_array *L){
int number = 5 ; //基站动态数组的初始个数
int i;
char string[6] ;
p = (base *)malloc(number*sizeof(base)) ;//提前分配基站内存
L->size = number;
L->count = 0 ;
L->data = p ;
for(i=0;i
strcpy(L->data[i].id,string) ;
L->data[i].next = NULL ;
L->count++ ;
printf("-%s-",L->data[0].id) ;
}
}
【注】不能直接在结构体里分配内存,即不能L->data = (base *)malloc(number*sizeof(base))