• word或dword区别


    在看C/C++的书或者试题时,有时会见到利用word或dword定义的变量,第一次看到的时候并不知其是什么,更不用说word或dword占几个字节了。幸好在VC安装文件夹下有相关的定义。如C:Program FilesMicrosoft VisualStudioVC98Include查看头文件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

  • 相关阅读:
    【LeetCode】面试题59
    【LeetCode】面试题57
    【LeetCode】面试题57
    Chrome查看Markdown并转为PDF
    【LeetCode】232. 用栈实现队列
    【LeetCode】27. 移除元素
    【LeetCode】1323. 6 和 9 组成的最大数字
    【LeetCode】167. 两数之和 II
    第14条:在公有类中使用访问方法而非公有域
    Android Studio项目中三种依赖的添加方式
  • 原文地址:https://www.cnblogs.com/ZHENGJUNupperclassman/p/7753023.html
Copyright © 2020-2023  润新知