- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列の要素数を超えた参照のコンパイル)
配列の要素数を超えた参照のコンパイル
このQ&Aのポイント
- C言語においては、配列の要素数を超えた参照もコンパイルエラーにはならないことがあります。
- 一部の言語では、配列の要素数を超えた参照はコンパイルエラーになる場合もあります。
- C言語では、配列の要素数を超えた参照も許容されているため、注意が必要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
C言語で配列の範囲を超えた参照がエラーにならないのは、効率のこともありますし、プログラマがやりたいことを妨げないという意図もあります。 コンパイルエラーにならない理由はこれとは別で、a[i]というのは、実は*(a + i)の意味ですので、先頭要素へのポインタに(暗黙的に)型変換された時点で、すでに配列の要素数に関する情報は落ちてしまっているからです。
お礼
いつもご回答頂き有難うございます。 納得させていただきました。