
そもそもポインタとは何か?何に使われるのか?といった根本の疑問を解決します。『アドレスを指し示す仕組み』とは聞いたことがあっても、その具体的な使い道を知らない方は多いです。ポインタの持つ「アドレス・場所を指し示す仕組み」というのは、私たちの身近な場所でも使われています。デスクトップのショートカット〜データ構造までポインタの持つ意義について考えてみましょう。
このレクチャーではメモリICの物理的な仕組みを学びます。ポインタとはアドレスを指し示す仕組みであり、メモリそれ自体について理解を深めることはとても大切です。
・そもそもメモリとは何か?
・どのようにスペースを確保するのか?
・0と1の電気でどのように保存するのか?
といったそもそもの疑問について考えていきます。ポインタが宣言された際、プログラム内部ではどのように動くのか?その仕組みについて考えていきましょう。
このレクチャーでは、メモリICの論理的な仕組みを学びます。メモリをビルディングとしてイメージできることが目標です。ポインタ宣言した際、ビルディングとしてイメージできることは非常に重要です。
・データはどのように格納されていて、
・ポインタはデータをどのように指し示して、
・ポインタと通常のデータはどのように連携するのか?
といった、ビルディングのイメージが思い浮かぶよう学んでいきましょう。
このレクチャーでは、ポインタの宣言と数値の代入を行なっていきます。ポインタを理解する上で重要なポインタが2つあります。
1、ポインタはアドレスしか持てない!
2、ポインタに*をつけると、それが指す先のモノを表す!
という2つです。これらを理解できれば、ポインタは9割マスターできたも同然です。ポインタを仕組みから理解できるよう、一緒にコードを書きながら学んでいきましょう。
このレクチャーでは、ポインタを使って別の関数から値を操作します。プログラミングでは通常、関数の独立性が保たれているため、別の関数からmain関数にある値を直接書き換えるようなことはできません。その中で今回はポインタの機能を使って、別の場所からピンポイントで値を書き換えます。『別の関数から値を操作する』というのは、ポインタでもよく使われる使用場面となっています。前回のレクチャーで学んだ2つのルールに注意しながら、学んでいきましょう。
このレクチャーでは、ポインタを使って複数の戻り値を返します。C言語の関数はその仕様上、1つの戻り値しか返せません。そこでポインタを使って複数の戻り値を返すようにします。『ポインタで無理やり場所を作ってアドレスを格納する』といったイメージとなります。少し応用的な手法となりますが、2つのルールに注意しながら学んでいきましょう。
このレクチャーでは、void型のポインタについて学びます。C言語のライブラリで用意された関数を使う際に出てくる、『void *』です。void型のポインタはアドレスを指し示すことしかできませんが、キャストをすることによって色々なデータ型を扱うことが可能となります。
・void型のポインタはなぜ必要か?
・どういった場面で使われるのか?
・具体的なメリットは何か?
といった、そもそもの根本の疑問を一緒に考えていきましょう。
本講義のテキストを配布しています。講義で実際に使った台本となっています。補足の資料としてぜひご活用下さい。
本講義のスライドを配布しています。補足の資料としてぜひご活用下さい。
■C言語でポインタの基礎をマスターするためのコースです。
1.5時間で基礎〜応用までガッツリマスターすることができます。
具体的には、
・メモリICの仕組み
・ポインタの具体的な使い方
・数値の代入、複数の戻り値
・構造体、void型のポインタ
などのトピックについて学んでいきます。
■なぜこのコースを作ったのか?
ポインタはC言語の中でも特に難解とされています。『アドレスを指し示す仕組み』と聞いたことがあっても、具体的なイメージができない方も多いです。
・なぜポインタが必要なのか?
・何に使われるのか?
・どういったメリットがあるのか?
といった根本の疑問がイメージしづらいのです。
習いたての頃はポインタを使う場面は多くありません。ポインタに触れる機会が少なく、ますますポインタのイメージがわかない・苦手になってしまう。。という悪循環にハマってしまいます。
■本コースの特徴
『そもそもなぜ?』という疑問を大切にし、ゼロからポインタをマスターしていきます。
・そもそもアドレスとは何か?
・*はどのように付ければ良いのか?
・ポインタのよくある間違い
など、できるだけ丁寧な講義を目指しました。
ポインタはアドレスを指し示す仕組みであることから、アドレスを根本から学んでいきます。少し遠回りになりますが、1つずつ知識を積み上げていきましょう。
コースの最後には、本講義のテキスト・スライドを無料で配布しております。みなさんの勉強のお役に立てますと幸いです。