• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列の要素数を超えた参照のコンパイル)

配列の要素数を超えた参照のコンパイル

このQ&Aのポイント
  • C言語においては、配列の要素数を超えた参照もコンパイルエラーにはならないことがあります。
  • 一部の言語では、配列の要素数を超えた参照はコンパイルエラーになる場合もあります。
  • C言語では、配列の要素数を超えた参照も許容されているため、注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

C言語で配列の範囲を超えた参照がエラーにならないのは、効率のこともありますし、プログラマがやりたいことを妨げないという意図もあります。 コンパイルエラーにならない理由はこれとは別で、a[i]というのは、実は*(a + i)の意味ですので、先頭要素へのポインタに(暗黙的に)型変換された時点で、すでに配列の要素数に関する情報は落ちてしまっているからです。

PHYOPHYO
質問者

お礼

いつもご回答頂き有難うございます。 納得させていただきました。

関連するQ&A