TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜32時限目〜 実引数を変更したくない場合・・・

〜目次〜

 

 

 

実引数を変更したくない場合

ポインタを使っても、

必ずしも実引数を変更する必要はありません。

関数の内容によっては、

ポインタを使っていても、

実引数を変更したくない場合もあります。

このようなとき、

関数内で実引数の値を変更しないことをはっきりと示すために、

仮引数に

const

という指定をつけることができます。

以下のようにしてconstをつけます。

void func(const int *pX)

constを使った場合、

関数内で引数の変更をする処理を記述すると、

エラーになります。

f:id:YuyaTerayama:20180911132514p:plain

上のfunc( )関数内では、

引数を変更する処理を行うことはできません。

constは、指定しなくてもかまいません。

しかし、指定をすることで実引数を変更しないことも、

はっきりと示すことができ、

誤りのおきにくいコードを記述することができます。

 

まとめ

  • アドレスは、メモリ上の位置を直接あらわします。
  • ポインタは、特定のアドレスを格納する変数です。
  • アドレス演算子&を使うと、変数などのアドレスを知ることができます。
  • ポインタ間接参照演算子*を使うと、ポインタがさしている変数の値を得ることができます。
  • 引数は原則として値渡しで関数に渡されます。
  • 関数の仮引数にポインタを使うと、呼び出し元の実引数を変更することができます。
  • 仮引数にconstを指定すると、実引数を変更することができなくなります。

ポインタを使うと、メモリ上の位置を直接あらわすことができます。

ポインタを使って、関数の引数を参照渡しとする方法を学びました。

ポインタの概念はややこしいが、

焦らずにじっくりとひとつずつまとめで、

書いたものについて復習してください。

 

今回は短いですが、

ここまでになります。

 

〜END〜