文字列リテラルのサイズ: 文字列定数のメモリ フットプリントを理解する
C では、文字列リテラルはコードの不可欠な部分であり、固定シーケンスを表します。文字の。 sizeof 演算子は、これらの文字列リテラルのメモリ割り当てとレイアウトを理解する上で重要な役割を果たします。
質問 1: sizeof はなぜ文字列リテラルの長さを計算するのですか?
「f」などの文字列リテラルに適用される場合、sizeof 演算子は、終端の null 文字を含む、リテラルに格納されている文字数を測定します。 (' ')。 「f」の場合、「f」と null ターミネータの両方が含まれるため、2 文字を格納するのに必要なスペースが計算されます。
質問 2: 文字列リテラルには異なるものがありますか? sizeof?
文字列リテラルには固有の型があります。サイズが既知の文字の配列であり、サイズには null が含まれます。ターミネーター。この型は、char* (文字へのポインタ) や char[] (文字の配列) とは異なります。 sizeof に渡されると、文字列リテラルの配列型が維持され、ポインタのサイズではなく配列のサイズを反映した結果が得られます。
sizeof が文字列リテラルに対して異なる値を返すのはなぜですか、配列、ポインタ?
覚えておいてください:
以上がC の「sizeof」は文字列リテラル、配列、ポインタをどのように異なる方法で処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。