ポインタ・構造体
2011年6月13日にロボカップ勉強会第二回目が行われました。
今回は主催者をローテーションということで、戦略班の他のメンバーにプレゼン形式での勉強会を開いていただきました。
今回はポインタ・構造体という所で、分からない人も多いところだと思います。
実際私も話を聞いていて、あ、やべっ
なんて思った点が…(ポインタのポインタとか
今日は私なりにまとめてみようと思います。(めちゃくちゃ簡単に!)
まずポインタってどんな物?
int *p; //int型ポインタ宣言 int a; a = 10; p = &a; // アドレス printf("aのアドレス %p\n", &a); printf("pのアドレス %p\n", p); // 値 printf("aの値 %d\n", a); printf("pの値 %d\n", *p); return 0;
これで簡単に説明していきます。
ポインタを宣言し、ポインタpにaのアドレスを持たせています。
p = &a;
ということは、pに入る値はaのアドレスに入っている値と同じ!と言う事になります。(アドレスが同じだからですよ!)
ここでポインタを使う上で見極めてほしい点は、
printf("%p\n", p); // pはアドレス printf("%d\n", *p); // *pはポインタの中身
'*'(アスタリスク)が付けばポインタの中身ということです!
'*'を付ける付け無いは意味が違いすぎますので、注意してほしい点です。
使い方の基本中の基本はこんな感じです。
どういう場面で使うのかというと…
具体例はやめておきます。
が、この日記の一番初めに書いた角度を求めるプログラム。
これにポインタが少し使われていたり…
使う機会も増えると思うので、どんどん使って攻略しちゃいましょう(^^ゞ