【C言語】変数のアドレス(番地)

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

## アドレスとは

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

## int型変数のアドレス番地

int型変数はデータ量が2バイトあります。
しかし、メモリは1番地に1バイト(8bit)しかデータを格納できません。
そのため、int型変数は、メモリを「2番地分」占有します。

【例】
2つのint型変数a, bの値を足してint型変数cに格納するプログラムを例にアドレスを考えます。

int a = 5;
int b = 8;
int c;
c = a + b;


このとき、コンピュータ内のメモリでは次のようなことが行われています。

①int型変数aのデータを、メモリ内の100~101番地に格納
②int型変数bのデータを、メモリ内の113~114番地に格納
③aとbを加算した結果cを、メモリ内の134~135番地に格納

コンピュータが変数の値を格納するのに都合の良いアドレスを見つけます。
そのため、変数をいくつか宣言したとき、変数にはバラバラのアドレス(番地)が割り当てられていきます。

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

コメント