DWORD 是表示32位那它和int型有区别吗

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:27:19
比如 DWORD CClient::RecvDataThread(void* pParam)可以换成
int CClient::RecvDataThread(void* pParam) 吗?

long 32位有符号整数
int 32位有符号整数
DWORD 32位无符号整数

typedef unsigned long DWORD;

DWORD 一般用于返回值不会有负数的情况。

到底是用 int 还是 DWORD,要看具体情况。

例如你的 RecvDataThread 想用 -1 表示接收出错(Socket 函数很多也是用 -1 (SOCKET_ERROR) 的返回值代表失败,那么就应该用 int 返回值类型。

DWORD在哪里都是32位
INT不是!所以DWORD用的多!
有人问过一下问题

我发现有人用DWORD保存端口号,为什么不用int保存端口号呢?
难道linux下面没有int吗?还是c下面没有int?

数据类型不相同,当然有区别了。

DWORD是双精度类型,可以存放带精度的数值,比如123456.789。
int是整数类型,只能存放整数类型,如123,-34567.

int在16位机上是16位
32位机上是32位
...

typedef unsigned long DWORD;