无法创建全局结构数组
Unable to create global array of structs
我正在尝试创建一个全局结构数组,但是我认为我将采用的方法行不通。对于我需要的应用程序,它要求它是全局的,但是直到在 main() 函数内部才知道大小。我的代码如下:
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
//
struct player {
char letter;
};
struct player *players;
int main(int argc, char** argv){
check _variables();
int *inpBuff;
inpBuff = convert_input(argv[1], argv[2]);
int numPlayers = inpBuff[0];
players = malloc(numPlayers*sizeof(player));
return 1;
}
我收到错误:
错误:'player' 未声明(首次在此函数中使用)
玩家 = malloc(numPlayers*sizeof(player));
错误源 --> 您在 malloc 中使用 player 而不是 players这是不正确的。 Player 是 struct
的名字,你需要 malloc
.
中的指针名称
首先 --> 您需要更正您的 malloc
语句 --> 使用 players = malloc(numPlayers*(sizeof(*players));
第二个 --> 当 return 类型的 main()
函数是 int
时,您的 return
语句似乎丢失了。
我正在尝试创建一个全局结构数组,但是我认为我将采用的方法行不通。对于我需要的应用程序,它要求它是全局的,但是直到在 main() 函数内部才知道大小。我的代码如下:
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
//
struct player {
char letter;
};
struct player *players;
int main(int argc, char** argv){
check _variables();
int *inpBuff;
inpBuff = convert_input(argv[1], argv[2]);
int numPlayers = inpBuff[0];
players = malloc(numPlayers*sizeof(player));
return 1;
}
我收到错误: 错误:'player' 未声明(首次在此函数中使用) 玩家 = malloc(numPlayers*sizeof(player));
错误源 --> 您在 malloc 中使用 player 而不是 players这是不正确的。 Player 是 struct
的名字,你需要 malloc
.
首先 --> 您需要更正您的 malloc
语句 --> 使用 players = malloc(numPlayers*(sizeof(*players));
第二个 --> 当 return 类型的 main()
函数是 int
时,您的 return
语句似乎丢失了。