C中的WORD类型有什么意义?

时间:2013-05-31 18:09:47

标签: c dword

在浏览一些源代码时,我在C程序中找到了一个方法,它接受WORD,DWORD和PWORD类型的参数。我知道他们会转换成无符号数字,但他们为什么称为WORD?

3 个答案:

答案 0 :(得分:26)

单词大小和数据类型

单词是计算机一次可以处理的数据量。这适用于包含字符(通常为8位)和页面(许多单词,通常为4或8KB)的文档类比,作为其他数据测量。字是整数个字节,例如,一个,两个,四个或八个。当有人谈论机器的“n位”时,他们通常会谈论机器的字大小。例如,当人们说Pentium是一个32位芯片时,它们指的是它的字大小,即32位或4个字节。

处理器的通用寄存器(GPR)的大小等于其字大小。给定体系结构中的组件的宽度,例如,存储器总线通常至少与字大小一样宽。通常,至少在Linux支持的体系结构中,内存地址空间等于字大小[2]。因此,指针的大小等于字大小。另外,C类型long的大小等于字大小,而int类型的大小有时小于字大小的大小。例如,Alpha具有64位字长。因此,寄存器,指针和long类型的长度为64位。但是,int类型是32位长。 Alpha可以一次访问和操作64位,一个字。

进一步阅读:http://www.makelinux.com/books/lkd2/ch19lev1sec2

答案 1 :(得分:3)

Windows API中的

WORD表示2个字节。

它最初用于指代指针大小(如在字长为16位的CPU中) Windows API在{3.1}中(以及之前)Windows 3.1(仅支持16位计算机)中使用它,因此其含义不再更改。

答案 2 :(得分:2)

WORD可能来自一些较旧的代码,通常意味着16位,而DWORD通常意味着32位。如果你不确定你应该检查你的代码,因为它们必须在某处定义。

WORD源于机器字,其大小取决于硬件。