C のすべてのポインターは同じサイズですか?
C のすべてのポインターのサイズが同じかどうかという問題は、次のような問題にさらされています。議論。一部の情報源では、ポインターは常に同じサイズであると主張していますが、他の情報源では、ポインター型が異なると異なるサイズを持つことができると示唆しています。
C 標準での保証サイズ
C 標準
実際のサイズに関する考慮事項
実際には、通常、すべてのクラス型および関数型へのポインターは同じサイズになります。これは次の理由によるものです。
例外: セグメント化されたアーキテクチャ
セグメント化されたアーキテクチャでは、近いポインタと遠いポインタのサイズが異なる場合があります。
理由不均一なサイズを許可するため?
C 標準では、病的な場合に備えてポインタ型に異なるサイズを持たせることが技術的に許可されています。ただし、実際のアプリケーションでは、このようなケースはまれであり、大きな利点はありません。
結論
C のすべてのポインターが同じサイズであると仮定したくなりますが、規格では保証されていません。ただし、ほとんどの実際的なシナリオでは、上記の説明で説明したように、すべてのポインターは同じサイズになります。
以上がC のすべてのポインターは同じサイズですか? C におけるポインター サイズの複雑さと微妙な違いについて詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。