ポインタは概念が非常に難しい

 当C言語講座では、ここからポインタについて説明していきたいと思っております。ところで、皆様は、このポインタというものをご存知でしょうか。ポインタはC言語(および拡張言語)に特有の概念で、C言語を学び始めた初心者が必ずといっていいほどつまづく概念でもあります。ポインタがどうしても理解できないためにC言語に挫折してしまう方もいます。

 実際のところ、C言語を使って、それほど大変でないプログラムを作るのであれば、自分から積極的にポインタを使うことは、あまり無いかもしれません。ただ、C言語の命令の中には、どうしてもポインタを指定しないと使えない命令があります。また、C言語の拡張言語でiPhoneアプリを作るために使われるObjective-C言語では、頻繁にポインタを用います。将来的にはObjective-Cを使ってiPhoneのアプリを作りたいと思っている方は、概念だけでも理解する必要があります。

 ポインタに関する具体的な説明は今後の記事で行いますが、簡単に解説すると、ポインタは変数を扱うのとほぼ同じです。変数は、机(メモリ)の上に置かれた箱のようなものであると以前お伝えしました。変数が箱そのものであるのに対し、ポインタは箱が置かれている場所が指定されたものであると言えます。箱が置かれた場所のことをアドレスと呼んでいます。

 これだけですと意味がわかりにくいと思いますので、身近な例に置き換えて、ポインタがどういうものかを次回の記事でお伝えします。

 ちなみに、ではなぜポインタという概念を作ったかというと、いくつか利点がありますが一つの利点は、ビット演算の際にも言いました通り、処理が速くなるからです。普通に変数を使った方が人間としては理解しやすいのですが、コンピュータが処理をする際は、メモリ上に格納されたデータを見に行くという形で処理を行います。そのため、単に変数を指定するよりは、メモリ上のどこに置かれたデータかを指定した方が、よりコンピュータの処理に近い形となるのです。そのような理由でポインタという概念が存在しています。

■スポンサーリンク

このページの先頭へ