2011-09-15 20 views
0

MSVCでこれらの2つのタイプ(charとCHAR)が異なると聞きましたが、違いは何ですか?そして、もしそれが違うなら、どちらを使うのがお勧めですか?MSVCのcharとCHARの違いは何ですか?

+0

私は本当に怒っていて、通常は私はcharを使用していますが、しばしば私はCaps Lockをオンにするほど怒っていません。 – tvanfosson

答えて

3

実際のところ違いはありません。 CHARは、charのtypedefであり、Windows APIの一部は技術的にはMSVCではありません。 Windows Datatypes at MSDNを参照してください。

すべての(ほとんどすべての)Windows API関数は、直接C型よりもWin32 APIヘッダーファイルで定義されているパラメータ型を使用します。私はいつもこれが複数のコンパイラをサポートできることを前提としてきました。(MSVCはいつもWindowsにとって支配的なCコンパイラではありませんでした)

+0

'CHAR'は複数のコンパイラをサポートする意図があるのでしょうか?しかし、他のコンパイラでは、typedefの 'char'として' CHAR'を定義していない可能性があります。 – Thomson

+0

CHARはコンパイラーではなく、Windows APIヘッダーファイルにtypedefされています。 CHARは私の質問のリンクに記載されているようにWinNT.hとして定義されています。 – shf301