[C言語] const修飾したポインタ

  1. ポインタ変数が指す先が read-only である。
  2. ポインタ変数が read-only である。
  3. ポインタ変数が指す先とポインタ変数がともに read-only である。
    1. 0. read-only 制約なし

      1. 変数 a と b は書き換えることができる。
      2. ポインタ変数 p が指す先を変数 a から 変数 b に書き換えることができる。
      3. ポインタ変数 p を介して 変数 a と b の値を書き換えることができる。

      1. ポインタ変数が指す先が read-only である

      1. 変数 a と b は書き換えることができる。
      2. ポインタ変数 p が指す先を変数 a から 変数 b に書き換えることができる。
      3. ポインタ変数 p を介して 変数 a と b の値を書き換えることができない

      ちなみに次のように書いても同じである。 間接演算子 ( * ) の前に const修飾子 を記述する。

      2. ポインタ変数が read-only である

      1. 変数 a と b は書き換えることができる。
      2. ポインタ変数 p が指す先を書き換えることができない
      3. ポインタ変数 p を介して 変数 a の値を書き換えることができる。

      3. ポインタ変数が指す先とポインタ変数がともに read-only である

      1. 変数 a と b は書き換えることができる。
      2. ポインタ変数 p が指す先を書き換えることができない
      3. ポインタ変数 p を介して 変数 の値を書き換えることができない