->(アロー)演算子と.演算子
typedef struct {
Cell board[MODEL_BOARD_CELL_NUM][MODEL_BOARD_CELL_NUM]; //board[y][x];
Side turn;
} GameState;
//ゲーム初期化
void initialize_gamestate(GameState *gamestate) {
initialize_board(gamestate->board);
/*
重要
gamestate : GameState*型
*gamestate : GameState型
->演算子 : 構造体のポインタ型に使う
.演算子 : 構造体に使う
*/
gamestate->turn = WHT;
}
例:
BoardPoint *movable_points; //(BoardPoint *)型
movable_area.movable_points[i].x = board_point.x;
movable_points[i].xは構造体本体([ ]がついているから)だから.演算子
movable_area.movable_points->x = board_point.x;
movable_pointsは構造体のポインタ型なので->演算子