アドレスとポインタの違い
よくある説明では、アドレスとは変数や関数の位置を表す値であり、ポインタとはアドレスを格納するための変数であるとなっています。果たしてそうなのでしょうか? 標準規格であるJIS X3010:2003に目を通しても、「アドレスとは」あるいは「ポインタとは」という、ずばりそのものの記述が見つかりません。ただし、「ポインタ型とは」という記述であれば「6.2.5 型」に見つけることができます。
JIS X3010:2003の「6.2.4 オブジェクトの記憶域期間」には、
オブジェクトは,生存期間を通じて存在し,一定のアドレスをもち,最後に格納された値を保持する。
とありますので、少なくともオブジェクトに関しては、その位置を表す情報だと考えてよさそうです。ここで注意しなければならないのは、C規格でいうところのアドレスは、ハードウェア的なアドレスと必ずしも一致するわけでないということです。そう考えなければ、インタープリタ環境などは説明がつかなくなります。
関数に関する記述がないのは、おそらくインライン関数を想定しているのかと思います。しかし、「6.7.4 関数指定子」の脚注118では、
また、外部定義以外に行われるインライン定義の個数が幾つであれ,関数は単一のアドレスしかもたない。
とありますので、とりあえずはオブジェクトと同じように考えてもよさそうです。
次に、ポインタとはどういう概念なのかをはっきりさせたいと思います。JIS X3010:2003の「6.2.4 オブジェクトの記憶域期間」には、
ポインタの値は,そのポインタが指すオブジェクトが生存期間の最後に到達すると,不定になる。
とあるように、ポインタはオブジェクトであるかのように記述されています。また、同じく「6.2.5 型」では、
被参照型 T から派生されるポインタ型は,"Tへのポインタ"と呼ぶ。
とあり、こちらではポインタは型であるかのように記述されています。他の部分の記述もあわせて考えると、次のような解釈が成り立ちそうです。
ポインタとは、値であるアドレスを表現するための概念であり、ポインタ型とポインタ型のオブジェクト(場合によってはポインタ型の値)の総称である。
ただし、ポインタ型の値が常にアドレスになるかというとそうではありません。具体的には、空ポインタはアドレスではありません。あるいは、配列の末尾の要素の次を指すポインタの値は有効ですが、それは(言語仕様上の)アドレスではありません。
例えていうなら、アドレスとポインタの関係は、「ID番号」と「整数」のようなものだと思います。"物"にID番号という識別子を振り、それを整数値として表現することはよくあります。この値は、整数型をもち、整数型のオブジェクトに格納されます。ここでは、「整数」は、値も型もオブジェクトもひっくるめた概念として使用しているわけですが、ポインタもそういうものでしょう。

一部修正しました。
一部、編集ミスおよび誤記がありましたので修正しました。
単純なケアレスミスですので、履歴は残しません。