【发布时间】:2018-09-13 05:29:00
【问题描述】:
我正在尝试创建一个全局结构数组,但是我认为我会这样做的方式行不通。对于我需要的应用程序,它需要是全局的,但是直到在 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;
}
我收到错误: 错误:“播放器”未声明(在此函数中首次使用) 玩家 = malloc(numPlayers*sizeof(player));
【问题讨论】:
-
结构体名为
struct player。 -
@immibis 我是 C 新手,你能告诉我
char** argv有什么用吗?为什么在 char 后面有两个**? -
@ZeeshanAdil 这是一个链接以便更好地理解:geeksforgeeks.org/command-line-arguments-in-c-cpp
-
@user10334659 感谢分享,去看看! :)
-
1不是可移植的退出状态。在至少一个系统上它意味着“成功”,但在 Unix/Windows 上它是一个错误代码。main的可移植返回值是0或EXIT_SUCCESS表示成功,EXIT_FAILURE表示失败。