ライフをハックしたい

エンジニアの退職エントリーや教育について書いています。 他にもランニングや就職活動、資格などについても書いています。

C言語のポインタがわからないときに参考にしたい3つのサイト

最近よく耳にするIOTのおかげでC言語も最注目されてきました。ずいぶん昔にやったので再習得したいと思う人も多いでしょう。
C言語を習得する上で、最初の大きな壁は「ポインタ」です。ポインタの理解なくしてC言語の習得は出来ません。しかし、多くの入門者を払いのけるパワーがあることも事実です。下記に3サイトを紹介しますので役立ててみてください。

pg-kura.hatenablog.com こちらで紹介されている順番で理解することがベストな気がします。これでも分からない場合は、C言語の基本的な理解が抜けている可能性が高いです。

1. そもそも "変数は箱"、という例え話がポインタの説明をややこしくしている
変数という概念を、全く別のメタファーである "箱" に喩えて説明するのはよく使われる手法ですが、その喩えはポインタの説明をするときに破綻します。「箱にラベルを貼るのがポインタです」という "喩え話続行戦略" にはそもそも無理があるのです。
2. 「ポインタを教える」ために変数を教える
3. 「変数を教える」ためにメモリ空間をイメージさせる
4. 「メモリ空間をイメージさせる」ためにバイトという単位を教える
5. バイトの解釈によって色んな表現が可能であることを説明する
6. メモリ空間をイメージさせる
7. 変数を教える
8. ポインタを教える
9. ポインタの文法を教える
10. 配列をポインタと絡めて教える
11. NULL を教える


100% Pure NEET「C言語のポインタはメモリを想像できれば理解できる」
https://www.onaneet.org/blog/archives/5338

序盤の説明が非常にわかりやすいです。序盤の見出しのみ引用します。

コンピュータのメモリがどのようになっているか想像する
ポインタは矢印
ポインタはポインタ型という型
指すものが複数あっても矢印は1つで済むことも




苦しんで覚えるC言語
http://9cguide.appspot.com/

上記2サイトで理解できない場合はC言語の基礎的な理解が出来ていない可能性が高いです。15章:ポインタ変数の仕組みを読んでみて、難しいようでしたらこのサイトの前章を見直してみましょう。下手なC言語入門書籍より分かりやすいです。

いかがでしたでしょうか。ポインタのメリットなくしてC言語は使えないと思います。一度挫折した人も、もう一度挑戦してみてはいかがでしょうか。

 

www.lifehackit.work

 

コメントをいただきました!最初に参照型の説明をするのは良さそうですね

sugaryo1224.hatenablog.com