/************************************************************************ * 数据类型定义 * c语言的定义 DDK中的定义 * void VOID * char CHAR * short SHORT * long LONG * wchar_t WCHAR * char* PCHAR * wchar_t* PWCHAR *************************************************************************/ //一、DDK添加了一种64位的长整型整数 /* *64位形整数不是标准C语言定义 *只有微软的编译器才识别这种类型 *64位整数的常量前面是一个数字,后面加上i64结尾 *支持加、减、乘、除 */ LONGLONG llValue = 100i64; /* *DDK提供了另外一种的64位整数的表示方法 *LARGE_INTEGER数据结构 *区别: * LONGLONG是基本数据类型 * LARGE_INTEGER是数据结构 */ typedef union _LARGE_INTEGER{ struct{ ULONG LowPart; LONG HighPart; }; struct{ ULONG LowPart; LONG HighPart; } u; LONGLONG QuadPart; }; //LARGE_INTEGER的三个定义: /****** *(1)LARGE_INTEGER可以认为是由两部分组成。一个低32位的整数LowPart *一个是高32位的整数HighPart。在little endian的情况下,低32位数字在前 *高32位数字在后 */ //如果将这个64位数赋值为100,可以这样写: LARGE_INTEGER LargerValue; LargerValue.LowPart = 100; LargerValue.HighPart = 0; /****** *(2)LARGE_INTEGER可以认为是由两部分组成。一个低32位的整数LowPart *一个是高32位的整数HighPart。在beg endian的情况下,高32位数字在前 *低32位数字在后 */ //如果将这个64位数赋值为100,可以这样写: LARGE_INTEGER LargerValue; LargerValue.u.LowPart = 100; LargerValue.u.HighPart = 0; /****** *(3)LARGE_INTEGER等价于LONGLONG数据 */ //如果将这个64位数赋值为100,可以这样写: LARGE_INTEGER LargerValue; LargerValue.QuadPart = 100i64;