【发布时间】:2011-09-15 03:40:24
【问题描述】:
听说这两种类型(char 和 CHAR)在 MSVC 中是不同的,它们有什么区别?如果它们不同,建议使用哪一个?
【问题讨论】:
-
当我真的很生气并希望代码正常工作时,我会使用 CHAR。不过,我通常使用 char,因为我不会经常生气到打开 CAPS LOCK。
标签: visual-c++
听说这两种类型(char 和 CHAR)在 MSVC 中是不同的,它们有什么区别?如果它们不同,建议使用哪一个?
【问题讨论】:
标签: visual-c++
没有实际区别。 CHAR 是 char 的 typedef,它是 Windows API 的一部分,在技术上不是 MSVC。见Windows Datatypes at MSDN。
所有(以及大多数)Windows API 函数都使用在 Win32 API 头文件中定义的参数类型,而不是直接的 C 类型。我一直认为这是为了能够支持多个编译器(MSVC 并不总是 Windows 的主要 C 编译器)
【讨论】:
CHAR 打算支持多个编译器吗?但是其他编译器在typedef中可能没有将CHAR定义为char,那它怎么能做到呢?