结构体动态数组的定义及操作

这两天在写一个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){
intnumber = 5 ; //基站动态数组的初始个数
inti;
charstring[6] ;
p = (base *)malloc(number*sizeof(base)) ; //提前分配基站内存
L->size = number;
L->count = 0 ;
L->data = https://www.it610.com/article/p ;
for(i=0; isprintf(string,"%d",i) ;
strcpy(L->data[i].id,string) ;
L->data[i].next = NULL ;
L->count++ ;
printf("-%s-",L->data[0].id) ;
}
}
【注】不能直接在结构体里分配内存,即不能L->data = https://www.it610.com/article/(base *)malloc(number*sizeof(base))
【结构体动态数组的定义及操作】
转载于:https://www.cnblogs.com/knightly/p/3520745.html

    推荐阅读