C/C++言語ならばなくてはならないポインタ。その重要性は果てしないです。ですが、それだけ易しく教えますので安心して下さい。
では、今回の要点です。
では、いってみましょう。
前回の復習を少しします。変数はメモリ上にあります。なので、変数はメモリ上の位置であるアドレスを持っています。座標のようなものですね。
で、アドレスは単なる数値でした。単なる数値なら変数に入れてやることができるはず、と、ここまで前回話しました。
その変数というのが、今回話すポインタです。ポインタなんて名前が付いていますが、基本的にただの変数です。int に毛が生えた程度です。
では、早速そのポインタというのを見てみましょう。
プログラム | 実行結果例 |
---|---|
// Ptr1.cpp #include <iostream.h> int main() { char a; char* p; p = &a; cout << " p = " << (unsigned int) p << endl << "&a = " << (unsigned int)&a << endl; return 0; } |
p = 6618608 &a = 6618608 |
p がポインタです。char の後に * の付いた型名になっています。これは char 型の変数のアドレスを入れられるということになります。int 型のを入れたいなら int* 、float 型のを入れたいならなら float* になります。
では早速アドレスを入れてみましょう。
p = &a;
変数のアドレスは変数の前に & を付ければ得られました。で、それを p に代入しています。何のひねりもありません。
では、p と &a がきちんと同じになっているか表示してみましょう。unsigned int で型キャストをしているのは符号なしの10進数として表示するためです。ここはあまり気にしないで下さい。
両方とも 6618608 になっています。無事代入が成功したようです。(失敗などしないのですが...。)
このように、ポインタはアドレスを格納できるのです。
はい、今回はこれでお終いです。短いですけど、気にしないで下さい。ポインタは重要なのでゆっくりやっていきたいと思います。
では、今回の要点です。
次回はアドレスを保管してそれをどう使うかについて話します。それでは、次回まで。
Last update was done on 1999.3.31
この講座の著作権はロベールが保有しています