*C言語* 〜32時限目〜 実引数を変更したくない場合・・・
〜目次〜
実引数を変更したくない場合
ポインタを使っても、
必ずしも実引数を変更する必要はありません。
関数の内容によっては、
ポインタを使っていても、
実引数を変更したくない場合もあります。
このようなとき、
関数内で実引数の値を変更しないことをはっきりと示すために、
仮引数に
const
という指定をつけることができます。
以下のようにしてconstをつけます。
void func(const int *pX)
constを使った場合、
関数内で引数の変更をする処理を記述すると、
エラーになります。
上のfunc( )関数内では、
引数を変更する処理を行うことはできません。
constは、指定しなくてもかまいません。
しかし、指定をすることで実引数を変更しないことも、
はっきりと示すことができ、
誤りのおきにくいコードを記述することができます。
まとめ
- アドレスは、メモリ上の位置を直接あらわします。
- ポインタは、特定のアドレスを格納する変数です。
- アドレス演算子&を使うと、変数などのアドレスを知ることができます。
- ポインタ間接参照演算子*を使うと、ポインタがさしている変数の値を得ることができます。
- 引数は原則として値渡しで関数に渡されます。
- 関数の仮引数にポインタを使うと、呼び出し元の実引数を変更することができます。
- 仮引数にconstを指定すると、実引数を変更することができなくなります。
ポインタを使うと、メモリ上の位置を直接あらわすことができます。
ポインタを使って、関数の引数を参照渡しとする方法を学びました。
ポインタの概念はややこしいが、
焦らずにじっくりとひとつずつまとめで、
書いたものについて復習してください。
今回は短いですが、
ここまでになります。
〜END〜