• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

uint8_t与unsigned char是一样的么

你中有我 2019-05-16 浏览量:3305
uint8_t与unsigned char是一样的么,为什么 这么写
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 是一样的,char是8位的,unsigned char 也是8位的,这与uint8_t这个是一样的位数的,也是无符号的

    这么写,只是方便,每次输入的字符少啊,节约时间。

    对应的还有,uint16_t,uint32_t,uint64_t

    • 发布于 2019-05-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • cint.png

    在标准C里面,他们是一样的,要引用 stdint.h 。

    • 发布于2019-05-16
    • 举报
    • 评论 0
    • 0
    • 0

  •  uint8_t  是个宏定义,你查查自己工程这个宏在哪里,看看

    uint8_t 从命名规则看,就是 unsigned char 类型的数据, unsigned(u) char ( int8 )类型 (_t)

    这么写是为了代码迁移,从一个系统到另一个系统 数据类型适配,也因为命名习惯。


    • 发布于2019-05-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 正常情况下两者是一模一样的,不过最好看下宏定义,以宏定义为准
    • 发布于2019-05-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 具体需要看 uint8_t的定义,一般意义上是与 unsigned char一样的。

    这样用其实有一定的方便性,特别是对于需要适配多种环境的代码来说更有必要,

    注意这样用的可能不仅仅是uint8_t这样一个,可能还有uint16、uint32 等等一系列的,

    通过采用这样的定义,可以预设保证待复用迁移代码在不同环境下意义相同来屏蔽环境带来的差异(比如位宽不同、大小头不同等等),复用迁移时最多就是改一点这些定义的适配即可。


    其实你去看那些大型多平台适配项目的源代码,大多有类似情况,证明这时一种好的工程处理手段。在通信开发中也经常使用。

    • 发布于2019-05-17
    • 举报
    • 评论 0
    • 0
    • 0

  • uint8_t是宏定义来的,基本在所有平台下,uint8_t都是unsigned char类型的,只有uint32_t和uint64_t​的实现,会跟平台相关
    • 发布于2019-05-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

uint8_t与unsigned char是一样的么