VOID,INT,FLOAT都是Windows平台上的typedef,比如FLOAT就是typedef float FLOAT,INT就是typedef int INT但是,int, float这些keyword并没有什么特殊的或者神秘的,它们只是数据类型而已,它们能够被使用完全在于你所用的编译器已预先定义并支持这些类型,如果你在程序里写:
int var;
单单这一句,编译能不能通过,也要看你用的编译器是不是支持int这个类型。当然,对于float和int这些十分常见的类型,因为几乎每一种compiler都定义了的,所以问题不大。你用int var;基本在所有的c/c++编译器上都能通过的。但不是每一种数据类型都是这么universal的,比如,64位integer呢?64位integer在不同编译平台上可以有完全不同的定义,比如在平台ABC上,它可以是:
typedef long long INT64
在另一个平台XYZ上,它可以是
typedef signed __int64 INT64; (呵呵,windows就是这个定义)如果你在你的windows程序里只用__int64,那你的程序拿到第一个编译平台ABC上就不能编译了,因为__int64根本没有被定义过。使用typedef过的类型可以避免这个情况,比如:#if defined USING_WINDOWS
      typedef __int64 INT64;
#elif defined USING_GCC
      typedef long long INT64;
#endif