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

这两天在写一个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<number;i++){
        sprintf(string,"%d",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))

 

转载于:https://www.cnblogs.com/knightly/p/3520745.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值