日記・コラム・つぶやき

2013年5月23日 (木)

C言語のお勉強 ポインタ編 第3回

先生

ポインタ変数も変数だ

生徒

そうですね

先生

ポインタ変数にもとうぜん識別番号が振られている。識別番号は喩えだが

生徒

そういうことになりますね

先生

ポインタ変数の識別番号を格納する変数もまたポインタ変数だ

生徒

あれ?そこはポインタへのポインタとか言うんじゃないですか?

先生

違うぞ。ポインタ変数はポインタ変数だ

生徒

どういうことですか?

続きを読む "C言語のお勉強 ポインタ編 第3回"

| | コメント (2)

2013年5月21日 (火)

C言語のお勉強 ポインタ編 第2回

生徒

ポインタは関数呼び出しの実引数を書き換えるのに使うと習いました

先生

ああ、うん、そうだね

生徒

何ですか?その煮え切らない感じ

先生

どうしてポインタを使わないと実引数を書き換えられないのか説明できるかい?

生徒

話を逸らしましたね。ええと、仮引数は実引数のコピーなので仮引数を書き換えても実引数に影響しない…ですよね

先生

そうだ。そのように実引数のコピーが仮引数に代入される仕組みを値渡しと呼ぶ

生徒

そこがポインタだと違うわけですね

先生

違わない

生徒

へ?

先生

違わないのだよ。引数の型がポインタであっても値渡しだ

生徒

どういうことですか?

続きを読む "C言語のお勉強 ポインタ編 第2回"

| | コメント (0)

2013年5月20日 (月)

C言語のお勉強 ポインタ編 第1回

先生

変数は値を入れる箱だという喩えを聞いたことがあるかい?

生徒

ええ、よくある喩えですね

先生

その箱にアクセスするとき変数名を使うね。例えばこんな具合だ

int i;
i = 100;
printf("%d\n", i);
先生

実はその箱には必ず識別番号が振られている。識別番号は喩えだが

生徒

識別番号ですか?何のために?

先生

もちろん箱にアクセスするためだ

生徒

変数名を使えばいいじゃないですか

先生

名前の無い変数もあるのさ。名前の付いた変数は寿命が決まっているが名前の無い変数にはそのような縛りがない

生徒

何ですか?それ

先生

いまは知らなくていいよ。名前に縛られないメリットは他にもある。要するに便利なのさ

続きを読む "C言語のお勉強 ポインタ編 第1回"

| | コメント (0)