雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
  • ソース を表示
  • C言語/ポインタ は削除されています。
1: 2007-01-29 (月) 18:59:23 ソース バックアップ No.1 を復元して編集 2: 2007-01-29 (月) 19:08:00 ソース バックアップ No.2 を復元して編集
Line 5: Line 5:
たとえばC言語に「write_mem8(0x1234,0x56」なんて命令があればいいのだが・・・ たとえばC言語に「write_mem8(0x1234,0x56」なんて命令があればいいのだが・・・
 +
 +そこで、C言語では''ポインタ''というものを使って、メモリの番地を直接扱えるようになっている。
 +
 +たとえば
 + char p;
 + p = 0x41;
 +
 +なんてしたとしよう。
 +
 +ここまではまあ、大抵の人は意味解るはず。
 +
 +さて。ここでこう考えてみる。「pの中には0x41が入っている。じゃ、0x41が入っているのって、どこ?」ということ。
 +
 +「はぁ? 変数pだべさ?」と。これは正解。では、「その変数pって、どこ?」と、こう続く。
 +
 +「変数pは変数pだろう!」というわけには行かない。なぜなら、コンピュータではどんなデータも変数もメモリに記憶されている。記憶されているのがメモリである限り、そこにはかならず「何番地か?」という概念が付いてくる。
 +
 +(ちなみに、これを意識する必要がないという場合のほうが多い。そういう場合はもちろん意識しなくてもよい。)