*我发现了我的错误。 c已经是该程序的int了。这对我来说是一个很大的程序,我有20个变量,很困惑。谢谢。顺便说一下,这个复制结构的选项最终对我有用。
我正在尝试复制一个结构,它告诉我需要放置一个我认为的指针。 我想提到我在所有程序中都没有使用指针。
我已经完成了游戏代码。这是一个500百万的代码,运行平稳,直到我尝试复制一个结构。 在很多与我相似的人身上,我认为这是平等的,他们没有我的问题。我还搜索了所有网络。 它给我写了两种错误,我将在下面添加。 谢谢!
#include <stdio.h>
#include <string.h>
typedef struct player {
char name[ARR_SIZE]; // player's name, up to 20 chars
int age; // player's age, 0 - 120
int defense; // defense power, 1 - 100
int attack; // attack power, 1 - 100
}player;
typedef struct team {
char name[ARR_SIZE]; // team's name
int numberOfPlayers; // number of players in the team, up to MAX_PLAYERS
player teamPlayers[MAX_PLAYERS]; // array of the team players
int points; // the team points in the league
int wins; // number of wins
int draws; // number of draws
int losses; // number of losses
}team;
team b[MAX_TEAMS_NUMBER];
team c[MAX_TEAMS_NUMBER]; (1)
** the part of the code itself**
int main ()
{
for (int i = 0; i < number_of_teams; i++)
{
c[i] = b[i]; (2)
}
}
我用数字表示问题线附近 (1)'c':'team [10]'的间接级别与'int'不同 (2)表达式必须具有指向对象类型的指针
答案 0 :(得分:1)
在C语言中,代码顺序非常重要。在这里,您首先尝试创建一个“团队”数组,然后告诉编译器“团队”是什么。因为它将逐行读取您的代码,所以当您读取前两行时,它不知道团队是什么。
您必须在结构后移动第一行。
请记住,函数也会发生此问题:如果在声明之前使用函数,编译器将检测到错误。 (声明不是实现,您可以在代码底部实现一个函数,但是您需要使用原型进行声明。)