C言語のポインタの表現の歴史的背景
C言語はポインタの理解が難しいと、方々で言われています。
その原因の一つにポインタの表記方法があると考えています。
例えばポインタ宣言時と、アドレス代入時で同じ*の意味が異なります。
int *pointer;の*は、pointerがポインタであることを示すもので、
a = *pointer;の*は、pointerアドレスに格納された値を取り出すこと示すものです。
ここで私が抱く疑問は、
int *pointerの表現方法として、*を使わない方法をなぜ取らなかったか、できない理由があったのかということです。
例えばconstやstaticのように、intの前にpointとか書く方法もあったのではないでしょうか。
また、
ポインタpointerは、*pointerで中身を指し示し、pointerでアドレスを表現しますが、
これ、どう考えても逆の方が良かったんじゃないの?って思います。
逆にすると、何かしら弊害があるのでしょうか。
まだまだC言語について知識が足りないため、至らない点あるかと思いますが、
お付き合い頂ければ幸いです。