"strings" 声明的 gcc 数组失败
gcc array of "strings" declaration failing
我正在尝试编写一个简单的 C 程序,但我在声明 "string" 数组时遇到了问题。以下代码编译无误:
#define HAND_SIZE 10;
int main()
{
char * cards[13] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
int player[HAND_SIZE];
}
但我不能将播放器变成 "strings" 的数组而不是整数。如果我执行以下任一操作:
char * player[HAND_SIZE];
char player [HAND_SIZE][];
char player [HAND_SIZE][5];
//repeat the above with '= {}' and '= {""}' initializations
我收到错误:
error: expected ‘]’ before ‘;’ token
为什么会这样,我如何在 c 中声明一个 "strings" 的空数组?
预处理器指令不应以分号结尾。
#define
行结束后的分号给了你错误,这会起作用:
#define HAND_SIZE 10
int main()
{
char * cards[13] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
int player[HAND_SIZE];
}
我正在尝试编写一个简单的 C 程序,但我在声明 "string" 数组时遇到了问题。以下代码编译无误:
#define HAND_SIZE 10;
int main()
{
char * cards[13] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
int player[HAND_SIZE];
}
但我不能将播放器变成 "strings" 的数组而不是整数。如果我执行以下任一操作:
char * player[HAND_SIZE];
char player [HAND_SIZE][];
char player [HAND_SIZE][5];
//repeat the above with '= {}' and '= {""}' initializations
我收到错误:
error: expected ‘]’ before ‘;’ token
为什么会这样,我如何在 c 中声明一个 "strings" 的空数组?
预处理器指令不应以分号结尾。
#define
行结束后的分号给了你错误,这会起作用:
#define HAND_SIZE 10
int main()
{
char * cards[13] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
int player[HAND_SIZE];
}