2009年01月14日

雪でCの勉強が進みません

気が付いたらPCの前で寝てた。起きたら大変足がダルイ。

なぜかと今日一日を振り返ってみると…

今日は雪が大変積もっていた。帰りには止んでいたけど、路面がところどころアイスバーンで非常に歩きづらかった。その上、 一見するとそれと分からない薄い氷が張っている場所があってかなり神経と体力を消耗した。 なんかこの見た感じ普通の路面なのに凍っている状態はブラックアイスバーンとかブラックアイスとか呼ぶらしい。

そんなこんなで今日もCの勉強が進まない進まない。今日は10ページほど。もちろん雪のせい。間違いなく雪が悪い。寒いし。

ポインタの内容がどうも頭に入ってこない。いや、入るんだけど残らない。

とりあえず書いてまとめる。

  • &演算子を変数名に使うと、変数の中身が格納されているアドレスが得られる
  • アドレスはポインタに入れられる
  • ポインタに*演算子を使うと、ポインタの指すアドレスに格納されている中身を取り出せる
    • ポインタを宣言するには、宣言時に*演算子を付ける
    • ポインタの宣言時には型名も必要で、 代入するアドレスに格納されているものと同じ型で宣言しなければいけない
#include <stdio.h>
int main(void){
int n1, n2;     /* int型の宣言         */
int *n1p, *n2p; /* int形ポインタの宣言 */

n1 = 10; n2 = 20;
n1p = &n1; /* ポインタにはアドレスが代入できる */ n2p = &n2; /* アドレスは&演算子で得られる   */
printf("n1のアドレス: %p\n", &n1); /* ポインタの変換指定は%p */ printf("n1pの中身: %p\n", n1p);
printf("n2の中身: %d\n", n2); /* ポインタの指す先に入っているものは */ printf("n2pの指す先の中身: %d\n", *n2p); /* *演算子によって参照できる */
return 0; }

実行結果:

n1のアドレス:      0012FF60
n1pの中身:         0012FF60
n2の中身:          20
n2pの指す先の中身:  20

でもこのくらいならうっすら前回前々回の挫折時の記憶が残っているので、問題はこの先。

posted by Rion778 at 00:36 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL(言及がない、関連がないと判断した場合削除することがあります)
http://blog.seesaa.jp/tb/112576640
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。