次のテキスト行を検討してください。
テキストの最初の行。
文字配列string
を使用して配列の最初の 10 文字をロードすると、次のように出力されます。
First lin'\0'
First
5 文字をlin
含む、3 文字を含む。他の 2 つの文字はどこで使用されていますか?
\0
2文字とみなされますか?
それとも、単語間のスペースは文字と見なされるので、'\0' は 1 文字ですか?
はい、スペースは文字です。ASCII エンコーディングでは、コード番号は 32 です。
2 つの単語の間のスペースには、ASCII コード 0x20 (040 8または 32 10 ) があります。1 バイトを占めます。
文字列の最後にある null である ASCII コード 0x00 (8 進数と 10 進数の両方で 0) は、他のバイトを占有します。
スペースバーは、入力時にスペース文字を生成するキーボード上のキーであることに注意してください。
'\0'
はnull-terminatorであり、すべての実装で文字通り値ゼロです。
'\0'
バックスラッシュは文字をエスケープ\
することを意味するため、単一の文字と見なされます。したがって、どちらも単一の文字ですが、非常に異なるものを意味します.'\0'
'0'
スペースは別のascii 値で表されることに注意してください。