我想創建一個結構數組,其中的數組大小由程序中的用戶定義。例如。 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