c语言 结构体数组 malloc,C malloc字符串结构数组

是的,您需要循环并为结构的每个实例分配字符串.我建议你创建一个看起来像这样的函数:

#define PLAYER_STR_LENGTH 100

typedef struct {

char* str1, str2, str3;

// ...

} player;

player* create_player() {

player* p = malloc(sizeof(player));

if (p == NULL) {

// out of memory, exit

}

p->str1 = malloc(PLAYER_STR_LENGTH);

if (p->str1 == NULL) {

// out of memory, exit

}

// allocate more stuff...

return p;

}

最后制作一个匹配函数free_player来清理它也是一个好主意.如果要在分配时设置值,也可以将参数传递给create_player()函数.

要创建一个玩家数组,只需创建一个玩家指针数组,然后循环它并分配每个玩家结构,如下所示:

player** players = malloc(N * sizeof(player*));

for(int n = 0; n < N; n++)

players[n] = create_player();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值