【C言語】配列のアドレス(番地)

この記事では、C言語の配列のアドレス(番地)について紹介します。

## アドレスとは

アドレス(番地)とは、「データを格納する場所」のことです。
正確にいうと、データが格納されているメモリ上の番地を指します。

## int型配列のアドレス番地

int型配列は要素1つあたり、データ量が2バイトあります。
メモリは1番地に1バイト(8ビット)しかデータを格納できないため、int型配列は、「要素1つ毎にメモリを2番地分」占有します。

【例】
int型配列の要素2つを足して別の要素に格納するプログラムを例にアドレスを考えます。

int score[3]={5, 8, 0};
score[2] = score[0] + score[1];


このとき、コンピュータ内のメモリでは以下の処理が行われています。

①int型変数aのデータを、メモリ内の100, 101番地に格納
②int型変数bのデータを、メモリ内の102, 103番地に格納
③aとbを加算した結果cを、メモリ内の104, 105番地に格納

配列の場合は、「各要素に連続したアドレス(番地)」割り当てられます。
上記の場合は、score[0]~score[2]のデータが100~105番地に格納されています。
(変数はバラバラに割り当てられる)
これが、変数と配列のアドレスの違いです。

【関連記事】
C言語入門 (サンプルプログラム集)

コメント