- 1 名前:デフォルトの名無しさん [2010/06/30(水) 10:22:47 ]
- なぜポインタで引っかかる人が多いのか
引っかかる人は何に困惑しているのか
- 653 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 10:13:34.99 ]
- 俺の理解だと int *hoge; の場合、宣言してるのはhogeという変数。
*をつけると変数の中身をアドレスにしてアクセスする。アクセス先の型はintとする。 最初に*hogeはint型だが、*を外したらアドレスになる、と覚えようとしたら混乱した。
- 654 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 07:45:17.53 ]
- >>653
そこで多段メモリですよ。 以下のようにイメージすれば、ポインタなんて簡単だ。 先にも言ったとおり、初心者がポインタでつまづくのは、 リニアなメモリの中にデータとポインタが混在したイメージを 頭の中で処理しきれないから。 だったら、処理しやすいイメージに変えてしまえば良い。 実際のメモリ配置がコンパイラの実装に依存する以上、 このイメージが決定的にまずいということはないはず。 1.右のメモリにはデータがある 2.真ん中のメモリには1へのポインタ変数がある 3.左のメモリには2へのポインタ変数がある 4.ポインタ変数に付く*の数は、その変数のあるメモリの 何段前のメモリを見に行くかを示すものである
- 655 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 08:24:45.30 ]
- リンクドリストは要素の数だけメモリがあるのか。大変だな。
|

|