typedef WCHAR TCHAR就是把WCHAR这种类型的变量定义为TCHAR变量,
typedef WCHAR *PTCHAR就是把WCHAR型变量的指针定义为PTCHAR型变量。
申明完上面的以后,你就可以申明变量了。比如PTCHAR p;就表示p是一个指向WCHAR变量的指针,如果不这样定义还要写WCHAR *p要打星号。
这句话把两个写在一起了,就类似于int a,b;一样,中间加个逗号。要是分两句
typedef WCHAR TCHAR;
typedef WCHAR *PTCHAR;这样写太麻烦,就像int a;int b;这样写很麻烦一样。
例2:typedef _W64 int INT_PTR ,*PUINT_PTR
首先,_W64为编译选项,在64为编译器下,而且打开了/Wp64编译选项时,编译器会对使用了__w64的类型进行32位到64位移植性的判断
故在此可以忽略不看
简化为typedef int INT_PTR, *PUINT_PTR;
先看第一句:typedef int INT_PTR;
意思是为int取一个别名INT_PTR,则INT_PTR和int就是一样的意思,可以这样使用
INT_PTR a;
a = 10;
第二句:typedef int *PUINT_PTR;
就是为int *取一个别名PUINT_PTR,则PUINT_PTR代表的就是int类型的指针,使用如下:
int a = 0;
PUINT_PTR b = &a;
联系客服