-3
アスタリスクをどこに置いても問題はないと言われました。ポインタの構文の相違点
int* p;
int *p;
は同じです。しかし、複雑になると混乱します。たとえば、これを行うことができます:
int (*(p));
int** (*(p));
int*** (*(p)) {};
これらの宣言に違いはありますか?
アスタリスクをどこに置いても問題はないと言われました。ポインタの構文の相違点
int* p;
int *p;
は同じです。しかし、複雑になると混乱します。たとえば、これを行うことができます:
int (*(p));
int** (*(p));
int*** (*(p)) {};
これらの宣言に違いはありますか?
int (*(p));
はint
へのポインタです。
int** (*(p));
は、int
へのポインタへのポインタです。
int*** (*(p)) {};
「あなたはポインタにアスタリスクを置く場所それは問題ではない」、後に、両方、またはないで、あなたの前に空白を持っているかどうかは問題ではない」ことを意味C.
ですすべて"。 '*'をどこにでもランダムに配置できるということではありません。 –
'('と ')'をすべてこのようなコードに入れるのはなぜですか?これを関数ポインタと混在させていますか? – 4386427
@ 4386427もちろん、2番目のフラグメントの1番目と2番目の宣言に括弧は使用されませんが、そのようなタイプの周りに括弧を追加するのは合法です。 3番目は構文エラーです。 –