BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ 文字列リテラルの型は何ですか。

 "ABC"のように、二重引用符"で0個以上の文字の並びを囲んだ文字列リテラルの型は、C言語とC++言語で異なります。

C
 文字列リテラルの型は、要素型がcharで、末尾に付加されるナル文字を含め、その文字列リテラルを格納するのにちょうど十分の要素数をもつ配列です。

C++
 文字列リテラルの型は、要素型がconst charで、末尾に付加されるナル文字と、マルチバイトエンコーディングのためのバイトを含めて、その文字列リテラルを格納するのにちょうど十分の要素数をもつ配列です。


■ 根拠 ■
標準C §6.1.4 String literals
標準C99 §6.4.5 String literals
標準C++ §2.13.4 String literals

戻る

BohYoh.comロゴ