C言語において配列とポインタの表現の違いについて正しいのはどれか? int a[3]; に対してどれが正しいか? 2026.01.01 C言語において配列とポインタの表現の違いについて正しいのはどれか? int a[3]; に対してどれが正しいか? aは型がint(*)[3]で、&aはint*に暗黙変換される aは配列名であり式文脈でint*に暗黙変換されるが、&aの型はint (*)[3]である aと&aは同じ型である aはポインタであり& aはそのポインタの値を指す C言語では配列名aは式文脈で先頭要素へのポインタに変換されてint*として扱われますが、配列そのもののアドレスを取ると& aは配列全体の型int (*)[3]になります。したがってaと&aは数値的には同じアドレスを示すことがありますが型は異なり、ポインタ演算の意味も変わります。配列とポインタの振る舞いを混同しないことが重要です。 クイズタグ: プログラミング関連記事 プログラミングクイズ!【問題 全10問・答え付き】 | 2026年01月版