第6章 C言語のポインタ ~ & と * を使ってみる ~

 今回は、C言語でもっとも難しいと言われるポインタについての説明です。 ですから、すぐには理解できなくて当然だと考えて置いてください。 しかし、とても重要な概念であり、C++や最近話題のJavaを学習するのにも、 絶対に必要だと思っています (注19) 。

 ではさっそく、始めましょう。

 まずポインタを説明する前にアドレスの説明から入りましょう。 アドレスとは、英語で住所という意味があります。アドレス帳のアドレスですね。 C言語におけるアドレスが何であるかは、実際にプログラムを作って確かめてみましょう。

— リスト16–

#include <stdio.h>

void main( ) {
  int data;

  data = 5;

  printf("整数型の変数dataの値= %d\n", data);
  printf("整数型の変数dataのアドレス= %08X\n", &data);
}

 結果は次のようになったことだと思います(0012FF7Cは環境によって変わってきます)。

  整数型の変数dataの値= 5
  整数型の変数dataのアドレス= 0012FF7C

 %08Xは、数値を8桁の16進形式で表示しろという意味であり、ここではたいして重要ではありません。 では、0012FF7C という値は一体どこから現れたのでしょうか?

 何ら変哲のないただの整数型変数data に &(アンパサンドと読む)をつけて、 &data としただけで、5 が 0012FF7C に変わりました。

< 前のページへ

Pagetop