次のように定義された構造体が必要です。
typedef struct {
char weekday[WEEKDAY_SIZE],
start_time[START_TIME_SIZE],
home_team[TEAM_SIZE],
away_team[TEAM_SIZE],
spectators[SPECTATOR_SIZE];
int day, month, year, round, home_team_score, away_team_score;
} MATCH;
typedef struct {
MATCH match[MATCH_PR_ROUND];
} ROUND;
メイン関数で満たされた構造体:
ROUND round[33];
MATCH equal_four_goal_matches[198];
ラウンド (例: マッチの配列) を、特定の条件内にある別の対応するマッチの配列に割り当てる必要があります。
for(i=0; i<ROUNDS_PR_SEASON; i++) {
for(j=0; j<MATCH_PR_ROUND; j++) {
int match_is_draw = round[i].match[j].home_team_score == round[i].match[j].away_team_score;
int total_goals = round[i].match[j].home_team_score + round[i].match[j].away_team_score;
if(match_is_draw && total_goals <= 4) {
/* Trying to assign each match round[i].match[j] to the new array */
round[i].match[j] = equal_four_goal_matches[k];
k++;
(*length)++;
}
}
}
基本的に、構造体メンバーの配列を、メンバーと同じタイプの構造体の別の配列に割り当てようとしています。
printf を使用して、新しい構造体配列のメンバーに何かが格納されているかどうかを確認しましたが、何も含まれていません。ANSI89 オプションと gcc を使用してコンパイルしてもエラーは発生しません。
どんな助けでも大歓迎です。