word或dword区别
Posted 郑军学长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了word或dword区别相关的知识,希望对你有一定的参考价值。
在看C/C++的书或者试题时,有时会见到利用word或dword定义的变量,第一次看到的时候并不知其是什么,更不用说word或dword占几个字节了。幸好在VC安装文件夹下有相关的定义。如C:\Program Files\Microsoft VisualStudio\VC98\Include查看头文件WINDEF.H的定义:
typedef unsignedlong DWORD;
typedefint BOOL;
typedef unsignedchar BYTE;
typedef unsignedshort WORD;
typedeffloat FLOAT;
typedefFLOAT *PFLOAT;
typedef BOOLnear *PBOOL;
typedef BOOLfar *LPBOOL;
typedef BYTEnear *PBYTE;
typedef BYTE far *LPBYTE;
typedef intnear *PINT;
typedef intfar *LPINT;
typedef WORDnear *PWORD;
typedef WORDfar *LPWORD;
typedef longfar *LPLONG;
typedef DWORDnear *PDWORD;
typedef DWORDfar *LPDWORD;
typedef voidfar *LPVOID;
typedef CONST voidfar *LPCVOID;
从以上定义可以发现,WORD占2个字节,DWORD占4个字节。
关于DWORD使用中重要的一点。DWORD 现在表示 32bit 无符号整数,即使以后 Windows 升级到64位,DWORD 仍然是 32bit 无符号整数(也许以后的 long 不是32bit了,只需要重新定义一下 DWORD 就可以了)。对于那些直接和位数有关的整数,最好不用 int, long, short 之类的类型,因为这些类型的位数可能不确定(比如,在16位程序里,int 是16位的,在32位程序里,int 是32位的,谁知道在以后的64位程序里,int 是多少位,long 又是多少位)。用重新定义的类型就没有这方面的问题了,最多到时候修改一下定义就可以了,而不需要在程序里一行一行的查找
http://blog.csdn.net/godsight/article/details/53039483
以上是关于word或dword区别的主要内容,如果未能解决你的问题,请参考以下文章
转:VC中WORD,DWORD,unsigned long,unsigned short的区别(转)
word-wrapwhite-space和word break的区别