->(アロー)演算子と.演算子

->(アロー)演算子と.演算子

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は構造体のポインタ型なので->演算子

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *