Login
Immutable PageDiscussionInfoAttachments
Diff for "jones_million/study/nekoc"

MMA
Differences between revisions 2 and 3
Revision 2 as of 2011-05-06 00:07:32
Size: 2338
Comment:
Revision 3 as of 2011-05-06 00:16:32
Size: 434
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 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 (last edited 2011-05-06 00:16:32 by jones_million)