初級-ポインタで引っかかるという場合の説明
「C言語のポインタで引っかかる/壁に当たる」という場合、
概してですが、
ポインタ関連の記号「*」(アスタリスク)に対し、
「間接参照演算子」である場合と、
(変数宣言時の)「型修飾子」である場合の、
はっきりとした意識分けが説明されておらず、
漠然と「ポインタ関係の記号」として
意識されて使用しているケースが多くあります。
厳密なC言語のプログラミング言語上の設計を理解するには、
「構文上、何子なのか」
という意識分けが、重要です。
型修飾子の場合の「*」
例えば、このような文の場合、
int * p_iVarX;
構文内の「int *」は、
「int」+「*」で、1つの型を意味し、
「int型を指し示すポインタ型」であることを意味します。
「(int*)型」と読み替えてもよいでしょう。
この場合の「*」は、「〜のポインタ型」という意味を付加(修飾)する、
「型修飾子」です。
C言語の設計上、宣言時の空白の位置が自由で、
int*p_iVarX;
と書くこともできますし、
int *p_iVarX;
と書くこともできるので、
「intに着いている型修飾子」であることがわかりにくいのです。