struct GENERATIONS
{
char generation[MAX_ROWS][MAX_COLS];
int hasCycle;
};
typedef struct GENERATIONS Generation;
我有類型結構的數組:將元素添加到結構陣列
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];
一切突然作品?
是有道理的,當我測試從世代陣列得到的元件,我將創建一個新的代(如上所示)和做'克=世代[0]'。然後我可以使用g來訪問所有的「對象」數據,而無需使用'&'將其解除引用,爲什麼? –
你用' - >'訪問過嗎?這就是你訪問結構指針數據的方式。例如'G-> hasCycle'。 –
是的,這正是我的做法 –