Login
Immutable PageDiscussionInfoAttachments

Revision 2 as of 2011-05-06 00:07:32

Clear message
jones_million/study/nekoc

MMA

俺がポインタをどう腑に落としているか

ウィーンガコンてな感じである.

具体的にみていこう

int a;
int *pa;

pa=&a;

ポインタ宣言後に初期化をしている

int a;
int *pa=&a;

ポインタ宣言時に初期化をしている

ポインタは基本的にアドレスしか扱う事はできないが,間接参照演算子*という魔法の言葉で,ポインタの指しているアドレスの変数に値を渡す事ができるのだ.

このことは参考書などで流されてしまっていて,参考書の初めのほうでは律儀にポインタを宣言した後で初期化をしているのだが,参考書の後ろのほうになると,ポインタ宣言時に初期化をするような形で統一されてしまっている.

そこで デバック時に

int *pa =&a;

等の記述を見たとき, アスタリスクの後になぜアドレスを代入してるんだー間接参照演算子じゃないのかよーとか思っちゃって,混乱をきたしてしまうことが結構あるので,

int* pa = &a;

という風な記述をオススメする.