日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

二、Windows基础数据类型

發布時間:2025/7/14 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二、Windows基础数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

六、Windows Data Types 簡介:

  6.1、這些數據類型都是C語言數據類型的再次的進行包裝。

  6.2、因為考慮到如果使用的是C中的基礎數據類型可能無法表示,想表示的精準的含義。

  6.3、這些數據類型只有在微軟的SDK下才能夠進行使用。

  6.4、為什么是使用純C的type進行包裝:是因為要支持C語言。

  6.5、所有的這些types都在<Windows.h>中。

  6.6、32位系統下,內存地址值得長度是32位,DWORD_PTR(存儲地址值)

    如:int num = 10; DWORD_PTR pNum = &num; //其中pNum是有值的,該值就是地址值。
    但是此時的pNum的類型并不是指針,而是unsigned long類型。
    所以此時編譯器會產生一個警告。
    此時需要使用的話就要進行強制轉換:*(int*)pNum = 100;

  6.7、而在64位中,DWORD_PTR變成了64位。

  6.8、LP和P:的這種寫法是沒有區別的。

  6.9、A:表示窄字符。

  6.10、T:表示TCHAR, 可變的。

七、Windows Data Types:

  7.1、bit。

  7.2、byte:8個bit。

  7.3、__int8:8bit。

  7.4、__int16: 16bit。

  7.5、__int32: 32bit。

  7.6、__int64: 64bit。

  7.7、wchar_t:就是 unsigned short 類型。

    typedef unsigned short wchar_t;

  7.8、BOOL:1表示TRUE,0表示FALSE、實際上就是一個int類型。

    typedef int BOOL, *PBOOL, *LPBOOL;

  7.9、BYTE:就是一個unsigned char, 8位的大小。

    typedef unsigned char BYTE, *PBYTE, *LPBYTE;

  7.10、BOOLEAN:1表示TRUE,0表示FALSE、實際上就是一個BYTE類型。

    typedef BYTE BOOLEAN, *PBOOLEAN;

  7.11、BSTR:實際上就是一個wchar_t* -> unsigned short*類型。

    typedef WCHAR* BSTR;

  7.12、CHAR:小寫char的typedef。

    typedef char CHAR, *PCHAR;

  7.13、DOUBLE:小寫double的typedef。

    typedef double DOUBLE;

  7.14、DWORD:實際就是一個 unsigned long 類型。

    typedef unsigned long DWORD, *PDWORD, *LPDWORD;

  7.15、DWORD_PTR:__int3264隨著環境的變化而變化。32為32,64為64。

    typedef unsigned __int3264 ULONG_PTR;

    typedef ULONG_PTR DWORD_PTR;

  7.16、DWORD32:32位。

    typedef unsigned int DWORD32;

  7.17、DWORD64:64位。

    typedef unsigned __int64 DWORD64, *PDWORD64;

  7.18、DWORDLONG:

    typedef ULONGLONG DWORDLONG, *PDWORDLONG;

  7.19、error_status_t:

    typedef unsigned long error_status_t;

  7.20、FLOAT:小寫 float 的typedef。

    typedef float FLOAT;

  7.21、HANDLE:對象句柄。

    typedef void* HANDLE;

  7.22、HCALL:實際就是unsigned long 類型。

    typedef unsigned long DWORD, *PDWORD, *LPDWORD;

    typedef DWORD HCALL;

  7.23、HRESULT:

    typedef LONG HRESULT;

  7.24、INT:小寫int 的typedef。

    typedef int INT, *LPINT;

  7.25、INT8:

    typedef signed char INT8;

  7.26、INT16:

    typedef signed short INT16;

  7.27、INT32:

    typedef signed int INT32;

  7.28、INT64:

    typedef signed __int64 INT64;

  7.29、LDAP_UDP_HANDLE:

    typedef void* LDAP_UDP_HANDLE;

  7.30、LMCSTR:實際就是 unsigned short類型。

    typedef unsigned short wchar_t;

    typedef const wchar_t* LMCSTR;

  7.31、LMSTR:實際就是unsigned short 類型。

    typedef unsigned short wchar_t;

    typedef wchar_t WCHAR;

    typedef WCHAR* LMSTR;

  7.32、LONG:

    typedef long LONG, *PLONG, *LPLONG;

  7.33、LONGLONG:64位。

    typedef signed __int64 LONGLONG;

  7.34、LONG_PTR:

    typedef __int3264 LONG_PTR;

  7.35、LONG32:

    typedef signed int LONG32;

  7.35、LONG64:

    typedef signed __int64 LONG64;

  7.36、LPCSTR:

    typedef const char* LPCSTR;

  7.37、LPCVOID:

    typedef const void* LPCVOID;

  7.38、LPCWSTR:

    typedef unsigned short wchar_t;

    typedef const wchar_t* LPCWSTR;

  7.39、LPSTR:

    typedef char* PSTR, *LPSTR;

  7.40、LPWSTR:

    typedef unsigned short wchar_t;

    typedef wchar_t* LPWSTR, *PWSTR;

  7.41、NET_API_STATUS:

    typedef unsigned long DWORD, *PDWORD, *LPDWORD;

    typedef DWORD NET_API_STATUS;

  7.42、NTSTATUS:

    typedef long NTSTATUS;

  7.43、QWORD:64位。

    typedef unsigned __int64 QWORD;

  7.44、RPC_BINDING_HANDLE:

    typedef void* RPC_BINDING_HANDLE;

  7.45、SHORT:

    typedef short SHORT;

  7.46、SIZE_T:不同的兩個環境下的可變長的類型。

    typedef unsigned __int3264 ULONG_PTR;

    typedef ULONG_PTR SIZE_T;

  7.47、UCHAR:無符號的char類型。

    typedef unsigned char UCHAR, *PUCHAR;

  7.48、STRING:

    typedef unsigned char UCHAR, *PUCHAR;

    typedef UCHAR* STRING;

  7.49、UINT:

    typedef unsigned int UINT;

  7.50、UINT8:

    typedef unsigned char UINT8;

  7.51、UINT16:

    typedef unsigned short UINT16;

  7.52、UINT32:

    typedef unsigned int UINT32;

  7.53、UINT64:

    typedef unsigned __int64 UINT64;

  7.54、ULONG:

    typedef unsigned long ULONG, *PULONG;

  7.55、ULONG_PTR:

    typedef unsigned __int3264 ULONG_PTR;

  7.56、ULONG32:

    typedef unsigned int ULONG32;

  7.56、ULONG64:

    typedef unsigned __int64 ULONG64;

  7.57、ULONGLONG:

    typedef unsigned __int64 ULONGLONG;

  7.58、UNICODE:

    typedef unsigned short wchar_t;

    typedef wchar_t UNICODE;

  7.59、USHORT:

    typedef unsigned short USHORT;

  7.60、VOID:

    typedef void VOID, *PVOID, *LPVOID;

  7.61、WCHAR:

    typedef unsigned short wchar_t;

    typedef wchar_t WCHAR, *PWCHAR;

  7.62、WORD:

    typedef unsigned short WORD, *PWORD, *LPWORD;

  7.63、總結:

    7.63.1、LPC: L表示long、 P表示point、C表示const;

    7.63.2、W:表示寬;

    7.63.3、_PTR:都是__int3264: 表示在不同環境下可變類型。

    7.63.4、_int64:表示64位。

    7.63.5、HANDLE:void*。

    7.63.6、WORD和WCHAR和wchar_t一樣:unsigned short。

    7.63.7、DWORD:unsigned long。

    7.63.8、8位char、16位short、32位int、64位_int64。

    7.63.9、很多的命名都是有規律可循的。

    7.63.10、以上所有的數據類型都是對C原生數據類型進行再包裝。

轉載于:https://www.cnblogs.com/xiaohaige/p/6831839.html

總結

以上是生活随笔為你收集整理的二、Windows基础数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。