【发布时间】:2015-09-02 01:52:37
【问题描述】:
struct GENERATIONS
{
char generation[MAX_ROWS][MAX_COLS];
int hasCycle;
};
typedef struct GENERATIONS Generation;
我有一个 struct 类型的数组:
Generation generations[MAX_GENERATIONS];
我像这样声明一个Generation变量:
Generation *currentGeneration = NULL;
currentGeneration = (Generation *) malloc(sizeof(Generation));
并尝试将世代添加到世代数组中:numGenerations 设置为 0,然后通过循环递增。
copyGeneration(currentGeneration);
generations[numGenerations] = currentGeneration;
然而,每次从“struct Generation *”类型分配给“Generation”类型时,我都会收到错误不兼容的类型。我知道这与我不理解但需要的指针有关。
为什么当我将数组声明为:
Generation *generations[MAX_GENERATIONS];
一切都突然起作用了?
【问题讨论】:
标签: c arrays multidimensional-array struct