
ZZzzZZzzzz….

くおりゃー!
勉強をし始める前に既に寝落ちとは何事じゃ!!

昨日あれだけがんばったのだから今日ぐらい

却下じゃ、二日目にして何を言っているじゃ。
そら授業をはじめるぞい!!
変数に割り振られるアドレスについて

は?変数に住所が?
それってひょっとしてコンピュータの中、メモリの中だったりしてえ?

そのと~り!!

なんだつまらん!
で、住所がどうしたって?変数にお手紙でも書くの?
あっ、分かった!赤紙召集で呼ばれて関数のところへ行き、戦うってわけだ!

あのぉ・・・ひょっとしてネジが数本飛んでるんじゃないかの?

いいえ~いつものこってす。・・・Never mind!!

まあじょさんもよくこんな人にCを勧めたもんじゃで。
どうせ教えるならもっと教え甲斐のある人の方が・・・・

何々?

いいや、別に。
実行文
#include <stdio.h> main() { int kazu=10; int hairetu[3]={20,30,40}; int kotae=50; printf("address:%d kazu=%d\n",&kazu,kazu); printf("address:%d hairetu[0]=%d\n"&hairetu[0],hairetu[0]); printf("address:%d hairetu[1]=%d\n"&hairetu[1],hairetu[1]); printf("address:%d hairetu[2]=%d\n"&hairetu[2],hairetu[2]); printf("address:%d kotae=%d\n",&kotae,kotae); }
実行結果
address:3588 kazu=10
address:3582 hairetu[0]=20
address:3584 hairetu[1]=30
address:3586 hairetu[2]=40
address:3580 kotae=50

実行環境によってアドレスは異なってくるぞい。
変数名 | メモリ | アドレス |
---|---|---|
kotae | 50 | 3580番地 |
3581番地 | ||
hairetu[0] | 20 | 3582番地 |
3583番地 | ||
hairetu[1] | 30 | 3584番地 |
3585番地 | ||
hairetu[2] | 40 | 3586番地 |
3587番地 | ||
kazu | 10 | 3588番地 |
3589番地 |
チェックポイント

コンピュータには、データやプログラムを記憶しておく装置として、メモリ(主記位装置)と呼ばれるものがあるんじゃ。
まあ、コインロッカーがたくさん並んでいると思ってくれればよい。

お金は要らないけどね☆

ちゃかすでない!!
一つのロッカーには決まったビット幅のデータを記憶することができるんじゃ。
そしてそれらには番号がついておるんじゃ、それがアドレス・・・つまり番地なのじゃ。そして、「int kotae 」と宣言すると同時にメモリのどこかのロッカーが、kotaeの値を記憶する為に使われるのじゃ。
つまり「kotaeは3580番地を使うぞ」という変数のアドレス管理リストが内部にできているわけなんじゃな。

・・・つまり。

つまらんよ~・・・・

・・・・とにかくじゃ、「&変数名」でその変数のアドレスを表すという事だけでも覚えておくのじゃぞ!
でないと話を進ませようにも進ませようがないからの!

ふぉーい!
・・・でポインタの登場はまだ?

ちょっと待たんか、何事も順番じゃ。
その二の中盤に登場するぞい。という訳でその二にいくぞい。