QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3564|回复: 7

u_int8_t这样的定义是什么意思?

[复制链接]
发表于 2004-9-16 15:20:59 | 显示全部楼层 |阅读模式
很多类似于“u_int8_t”、“u_int16_t”的定义

这是什么意思?
为什么要这样写呢?
发表于 2004-9-16 15:39:49 | 显示全部楼层
u无符号  int整数 8 8位  t是posix类型的标准后缀
回复

使用道具 举报

发表于 2004-9-16 15:52:40 | 显示全部楼层
u_int8_t = unsigned char
u_int16_t = unsigned short
回复

使用道具 举报

 楼主| 发表于 2004-9-16 16:27:37 | 显示全部楼层
还是不太明白

比如u_int16_t,为什么不干脆用int呢?在x86机器上也是16位啊

什么地方有这个的详细说明?

另外,u_int8_t这样的定义在什么h文件中定义?
回复

使用道具 举报

 楼主| 发表于 2004-9-16 22:31:29 | 显示全部楼层
找到,在/usr/include/sys/types.h中定义

为什么要用u_int16_t这个定义,而不直接用unsigned short呢?
回复

使用道具 举报

发表于 2004-9-16 23:58:52 | 显示全部楼层
怎么还不明白,u_int16_t能够保证是16位的无符号整数,可是unsigned short在不同平台的CPU上可能会有所不同,u_int8_t亦如此。
回复

使用道具 举报

发表于 2004-9-17 12:50:23 | 显示全部楼层
不用平台有不同的typedef
回复

使用道具 举报

发表于 2004-9-17 15:18:55 | 显示全部楼层
由于于些原因,ansi中的类型定义在不同的平台上可以并不一样长。所以会有这种看似多余的定义(当然实际上有用)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 11:25 , Processed in 0.042889 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表