これまでやってきた、例えば
int a;
a=10;
などのプログラムで、“a に 10 を入れる”というような、この“10”という情報は、
一時的にコンピュータ内部で記憶されています。
その記憶装置をメモリといい、個々のデータを1バイト単位で記憶しています。
(バイトとはデータの大きさの単位)
そのメモリ1つ1つを識別するために、それぞれ、“アドレス・・・番地”というように考えます。
これから習うアドレス演算子とポインタは、このメモリのアドレスに関係する項目です。
アドレス演算子
今、次のようなプログラムを考えます。
<例>
#include<stdio.h>
main()
{
int a;
a=10;
} |
これは、int 型データを入れられる箱を作り、その箱に整数 10 を入れています。
このとき、コンピュータ内部では、これらの情報を任意のアドレスに保存しています。
そのコンピュータ内部で保存されているアドレスを調べるには
アドレス演算子 & を調べたい変数(作った箱)の前につけることで調べられます。
<アドレス演算子>
#include<stdio.h>
main()
{
int a;
a=10;
printf("%d\n",a); /*
aの中身を表示 */
printf("%d\n",&a); /*
aの箱があるアドレスを表示 */
} |
<実行結果>
このとき、2行目に表示されるアドレスは任意であるため、
この実行結果と異なった値が表示されても問題ありません。 |