C言語 変数名とアドレスについて






スポンサードリンク


コンピューターの処理は、メモリ上に何らかのデーターを置いて処理を進めます。コンピューターのメモリには、各データを識別する為に、先頭から順番に、0からの連続番号が付けられております。これをアドレスと言います。(番地とも表現します)

メモリ上のアドレス(番地)イメージ
メモリアドレスはそれぞれ1バイト単位で確保されています。
0番地 1番地 2番地 3番地 4番地
1バイト 1バイト 1バイト 1バイト 1バイト

例えば、3番地に10と言う数字をメモリ上に置く場合は【 3番地に10を入れます  】と表現します。ただ扱うデーターが沢山あると、0番地・1番地、、とアドレスを指定するのは不便です。

そこで、番地の事を変数で表現すれば便利に使えると言う事で【 変数 】と言う名前付けルールが考えられました。

例えば 【 int a=10; 】とすると、変数【 a 】と言う番地に【 10 】と言うデータを置くと言う意味になります。
※【 int 】型はデーター1個が4バイトで構成されます。
※2、確保されるアドレスは「リンカ」によって決められます。
0番地 1番地 2番地 3番地 4番地
10 1バイト

例2:【 int a=10; char b=20; 】とすると、変数【 a 】には【 10 】、変数【 b 】と言う番地に【 20 】と言うデーターを置くことができます。
※【 char 】型データー1個が1バイトで構成されます。
0番地 1番地 2番地 3番地 4番地
10 20

変数のサンプルを見るサンプル

#include <stdio.h>
int main(void)
{
   int a=10;

   printf("aの値%d\n",a);
   printf("aのアドレス%p\n",&a);
return 0;
}


解説図
メモリアドレス出力記述【 printf("aのアドレス%p,&a");   】に注目して下さい。アドレス変換出力させるには、変数の前に【 & 】を付けます。変換仕様は【 %p 】になります。
c言語変数名とアドレスの関係
上記の出力結果です。

あかかげまるのC言語入門はこちら!!

スポンサードリンク

パソコン勉強部屋 | パソコン勉強部屋2 | ADSL勉強部屋 | メール勉強部屋 | LAN勉強部屋 | ホームページ勉強部屋 | 自宅サーバー勉強部屋 | お役立ちソフトの部屋 | C言語勉強 | 無料ゲーム | 無料セキュリティー | Linuxのコーナー | あかかげまる | オンライン通販 | ショップブランドパソコン | DVDとCD編集ツール

 Subscribe in a reader


ページトップへ