关于struct malloc?

2025-04-08 18:02:16
推荐回答(3个)
回答1:

看懂你的意思了。
你如果要用player-> 的话你的结构体的名称就最好不要用player。

struct playe {
struct state play[100];
int card;
};

struct state {
int no;
int number;
};

struct playe *player; //声明一个playe结构体变量叫player。

player=(struct playe*)malloc(sizeof(struct playe)); //开空间

其他自己来

回答2:

//---------------------------------------------------------------------------

#include
#include

struct state {
int no;
int number;
};
struct player {
struct state play[100];
int card;
};

int main(void)
{
struct player *a;
a=malloc(sizeof(struct player));

a->card=3456;/*访问card*/

a->play[0].no =0;
(a->play+1)->number =1; /*为a.play[1].number赋值*/
printf("%d\n%d",(a->play+0)->no ,a->play[1].number) ;
free(a);
return 0;
}
//---------------------------------------------------------------------------

回答3:

比如说下面一段代码,我需要如何用malloc 才能用player->play[i]->no??
struct player {
struct state *play[100]; //想都用指针符号的话这里得改成指针数组才行。然后再在后面把所有的指针动态分配空间。
};

struct state {
int no;
int number;
};}