我是编程和学习结构的新手,当试图将两个灵活的数组放在一个结构中时,他们给了我一个错误,为什么我不能把两个数组放在一个结构中?我创建了一个 pokemon 示例来测试 struct 中的数组,但只有 *pokemon_name[] 有效,为什么?
#include <stdio.h>
void main()
{
struct pokemon
{
int first_generation;
char *pokemon_type[];
char *pokemon_name[];
} number_pokedex[438];
number_pokedex[23].pokemon_name[5] = "Arbok";
number_pokedex[23].pokemon_type[6] = "Poison";
number_pokedex[23].first_generation = 1;
printf("Name of the pokemon: %s\n", number_pokedex[23].pokemon_name[5]);
printf("Type of the pokemon: %s\n", number_pokedex[23].pokemon_type[6]);
printf("From first generation?: %d\n", number_pokedex[23].first_generation);
}