ログイン
編集不可のページディスカッション情報添付ファイル
"jones_million/study/nekoc"の差分

MMA
2と3のリビジョン間の差分
2011-05-06 00:07:32時点のリビジョン2
サイズ: 2338
編集者: jones_million
コメント:
2011-05-06 00:16:32時点のリビジョン3
サイズ: 434
編集者: jones_million
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 5: 行 5:
 * 急造品だが書いたよ(2011/5/5)
== 俺がポインタをどう腑に落としているか ==
 * ポインタとはなんなのかは,とりあえずこれを観てほしい.

{{attachment:address.jpg}}
ウィーンガコンてな感じである.
 * ほんでもってつまずいたところは
  * 第一に,ポインタ宣言子と間接参照演算子が同記号なのが困る.*(アスタリスク)
  * 第二に,ポインタの初期化がポインタを宣言した時点でできるということ.

== 具体的にみていこう ==
{{{
int a;
int *pa;

pa=&a;
}}}
ポインタ宣言後に初期化をしている
{{{
int a;
int *pa=&a;
}}}
ポインタ宣言時に初期化をしている



ポインタは基本的にアドレスしか扱う事はできないが,間接参照演算子*という魔法の言葉で,ポインタの指しているアドレスの変数に値を渡す事ができるのだ.
 * ここで思い出してほしい.ポインタ宣言子と間接参照演算子は同記号なのである.(アスタリスク*)
 * ここで私は混乱した.デバック時にこのアスタリスクはポインタ宣言子なのだろうか?それとも,間接参照演算子なのだろうか?と迷う事があるのである.
このことは参考書などで流されてしまっていて,参考書の初めのほうでは律儀にポインタを宣言した後で初期化をしているのだが,参考書の後ろのほうになると,ポインタ宣言時に初期化をするような形で統一されてしまっている.

そこで
デバック時に
{{{
int *pa =&a;
}}}
等の記述を見たとき,
アスタリスクの後になぜアドレスを代入してるんだー間接参照演算子じゃないのかよーとか思っちゃって,混乱をきたしてしまうことが結構あるので,
{{{
int* pa = &a;
}}}
という風な記述をオススメする.
 * 急造品だが書いたよ(2011/5/5)[[http://wiki.mma.club.uec.ac.jp/jones_million/study/pointer]]
  • 今,猫Cの配列の章あたりを読んでいる.(八章)
    • 章という漢字を観ていてゲシュタルト崩壊した.
  • 後で,ポインタについて思ったことを書く.このようにして自分はポインタの概念を腑に落としている的なことを書いてみようと思う.
  • 急造品だが書いたよ(2011/5/5)http://wiki.mma.club.uec.ac.jp/jones_million/study/pointer

jones_million/study/nekoc (最終更新日時 2011-05-06 00:16:32 更新者 jones_million)