C言語はポインタの理解が難しいと、方々で言われています。
その原因の一つにポインタの表記方法があると考えています。

例えばポインタ宣言時と、アドレス代入時で同じ*の意味が異なります。

int *pointer;*は、pointerがポインタであることを示すもので、
a = *pointer;*は、pointerアドレスに格納された値を取り出すこと示すものです。

ここで私が抱く疑問は、
int *pointerの表現方法として、*を使わない方法をなぜ取らなかったか、できない理由があったのかということです。
例えばconststaticのように、intの前にpointとか書く方法もあったのではないでしょうか。

また、
ポインタpointerは、*pointerで中身を指し示し、pointerでアドレスを表現しますが、
これ、どう考えても逆の方が良かったんじゃないの?って思います。
逆にすると、何かしら弊害があるのでしょうか。

まだまだC言語について知識が足りないため、至らない点あるかと思いますが、
お付き合い頂ければ幸いです。