我想创建一个结构数组,其中的数组大小由程序中的用户定义。例如。 P [0],P [1],P [2] .....动态分配结构数组
typedef struct
{
int score;
}player;
void main()
{
int numPlayers;
printf ("\nEnter number of players (1 - 4)\n");
scanf ("%d", &numPlayers);
}
我试着与两个
player p[numPlayers];
和
player *p=malloc(numPlayers*sizeof(player));
但这样做两者都不会编译。 任何人都可以看到这里出了什么问题吗?
编辑:我正在使用VS2010。 我得到了第一个“表达式必须有一个常数值”,并且“void *”类型的值不能用于初始化第二个类型为“player *”的实体。
你得到了什么编译错误? – 2012-03-11 20:45:45
什么编译器和编译器错误是什么? – hmjd 2012-03-11 20:45:51