私は配列計算のセクションをK & Rで読んでいて、好奇心をそそられました。文脈全体を掲載しましたが、主に大胆な部分に焦点を当てています。同じ配列のメンバーへC配列のためのポインタ演算
pとqのポイント場合は、==、 !=、<、> =、などのような関係は、正常に動作します。たとえば、pが をqよりも配列の以前のメンバを指す場合、p < qは真です。すべてのポインタは、同等性またはゼロとの不一致を有意義に比較した とすることができます。しかし、 の振る舞いは、同じ配列のメンバーを指していないポインタを持つ算術または比較では定義されていません。 (1つの例外があります: 配列の最後を過ぎた最初の要素のアドレスがポインタ演算で を使用することができます。)
は、この例外の理由は何ですか?サイズが定義されている場合、配列の最後に余分なメモリが割り当てられていますか?もしそうなら、どんな目的のために?ヌル文字で配列を終了しますか?
これを理解する最も簡単な方法は、a [b] = a + bです。説明については、98ページをご覧ください。 – SheetJS
@Nirk:ハァッか。それはこれと何が関係していますか? – jason