2011-09-15 76 views
0

我听说这两种类型(char和CHAR)在MSVC中不同,它们之间有什么区别?如果他们不同,推荐使用哪一个?MSVC中char和CHAR有什么区别?

+0

我真的很生气,想让代码正常工作时使用CHAR。通常我使用char,但是,因为我经常不那么生气,所以我打开CAPS LOCK。 – tvanfosson

回答

3

没有实际的区别。 CHAR是一个类型定义到char,它的一部分Windows API在技术上不是MSVC。见Windows Datatypes at MSDN

所有(绝大多数)Windows API函数都使用在Win32 API头文件中定义的参数类型,而不是直接C类型。我一直认为这是为了能够支持多个编译器(MSVC并不总是Windows的主要C编译器)

+0

你的意思是'CHAR'是否意图支持多个编译器?但是其他编译器可能没有在typedef中将'CHAR'定义为'char',那么它怎么做呢? – Thomson

+0

CHAR是在Windows API头文件中进行typedef'd,而不是在编译器中。 CHAR被定义为WinNT.h,正如我的问题链接中所列出的那样。 – shf301

相关问题