uint8_t / uint16_t / uint32_t /uint64_t  是什么数据类型

在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的极少。

那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比较接近。它就是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是其它数据类型。

uint8_t,uint16_t,uint32_t等都不是什么新的数据类型,它们只是使用typedef给类型起的别名,新瓶装老酒的把戏。不过,不要小看了typedef,它对于你代码的维护会有很好的作用。比如C中没有bool,于是在一个软件中,一些程序员使用int,一些程序员使用short,会比较混乱,最好就是用一个typedef来定义,如:
typedef char bool;

一般来说,一个C的工程中一定要做一些这方面的工作,因为你会涉及到跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以让你最有效的维护你的代码。为了用户的方便,C99标准的C语言硬件为我们定义了这些类型,我们放心使用就可以了。

按照posix标准,一般整形对应的*_t类型为:
1字节     uint8_t
2字节     uint16_t
4字节     uint32_t
8字节     uint64_t

附:C99标准中inttypes.h的内容
00001 /*
00002    inttypes.h
00003 
00004    Contributors:
00005      Createdby Marek Michalkiewicz <marekm@linux.org.pl>
00006 
00007    THISSOFTWARE IS NOT COPYRIGHTED
00008 
00009    Thissource code is offered for use in the public domain.  You may
00010    use,modify or distribute it freely.
00011 
00012    Thiscode is distributed in the hope that it will be useful, but
00013    WITHOUTANY WARRANTY.  ALLWARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00014    DISCLAIMED.  This includes but is not limited towarranties of
00015    MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE.
00016  */
00017 
00018 #ifndef __INTTYPES_H_
00019 #define __INTTYPES_H_
00020 
00021 /* Use [u]intN_t if you need exactly N bits.
00022    XXX- doesn't handle the -mint8 option.  */
00023 
00024 typedefsigned char int8_t;
00025 typedefunsigned char uint8_t;
00026 
00027 typedefint int16_t;
00028 typedefunsigned int uint16_t;
00029 
00030 typedeflong int32_t;
00031 typedefunsigned long uint32_t;
00032 
00033 typedeflong long int64_t;
00034 typedefunsigned long long uint64_t;
00035 
00036 typedefint16_t intptr_t;
00037 typedefuint16_t uintptr_t;
00038 
00039 #endif

https://blog.csdn.net/kiddy19850221/article/details/6655066?utm_source=copy

uint8_t / uint16_t / uint32_t /uint64_t  有什么区别?相关推荐

  1. uint8_t / uint16_t / uint32_t /uint64_t 数据类型集中网上的解释

    uint8_t / uint16_t / uint32_t /uint64_t  是什么数据类型,在嵌入式编程中经常会遇见. 首先 #define uint unsigned int; int和uin ...

  2. C 语言编程 — uint8_t / uint16_t / uint32_t /uint64_t

    目录 文章目录 目录 uint8_t\uint_16_t\uint32_t\uint64_t 格式化输出 uint8_t\uint_16_t\uint32_t\uint64_t 在 C99 标准(IS ...

  3. uint8_t / uint16_t / uint32_t /uint64_t 数据类型大总结

    uint8_t / uint16_t / uint32_t /uint64_t  是什么数据类型 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个新的数据类型 ...

  4. [u]intN_t - uint8_t, uint16_t, uint32_t, uint64_t

    uint8_t, uint16_t, uint32_t, uint64_t 在c/c++中,很多以_t结尾的数据类型,如uint8_t,size_t等等,乍一看什么鬼,实际上_t的意思就是typede ...

  5. uint8_t / uint16_t / uint32_t /uint64_t 的简单介绍

    uint8_t / uint16_t / uint32_t /uint64_t 的简单介绍 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个新的数据类型,不过 ...

  6. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了

    uint8_t / uint16_t / uint32_t /uint64_t  是什么数据类型 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个新的数据类型 ...

  7. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结

    uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型? 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个新的数据类型 ...

  8. 浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t

    一.C语言基本数据类型回顾 在C语言中有6种基本数据类型:short.int.long.float.double.char 1.数值类型 1)整型:short.int.long 2)浮点型:float ...

  9. [c++]-uint8_t,uint16_t,uint32_t,uint64_t代表含义及其标准定义

    c++基础数据类型 首先来看一张c++基础数据类型的列表 下表显示了各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值. 注意:不同系统会有所差异,一字节为 8 位. ...

最新文章

  1. 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...
  2. 图形处理(七)基于热传播的测地距离计算-Siggraph 2013
  3. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法
  4. linux io 分析,Linux 下的I/O性能分析 iotop
  5. Spring Security:基于内存的角色授权
  6. 汇编指令push,mov,call,pop,leave,ret建立与释放栈的过程
  7. (转)使用Spring配置文件实现AOP
  8. UVa 1347 旅行
  9. php有没有dao层,php框架开发四(DAO层)_PHP教程
  10. Linux下限制用户通过SFTP访问指定目录
  11. 变异数分析_人工智能系统中分析变异的祸害
  12. 网页标题前面的logo怎么设置
  13. allegro怎么修改文本_allegro user preferences常见设置及说明
  14. Android 下标圆点数字
  15. 卷积网络(持续更新)
  16. chrome浏览器抓包工具介绍(2022,12,27)
  17. 粒倍营浅谈如何做好SEO
  18. Marvell深耕智能家居行业 赞同语音控制将成必然发展趋势
  19. 把梳子卖给和尚(一个经典的营销故事)
  20. 爬取了大众点评和去哪儿网上4312家长沙美食,看看什么值得吃?|凹凸数读

热门文章

  1. chrome net::ERR_CERT_AUTHORITY_INVALID 问题
  2. C#LeetCode刷题之#342-4的幂(Power of Four)
  3. mac忘记MySQL初始密码
  4. 注册表操作命令reg
  5. react 执行入口_如何使用React执行CRUD操作
  6. arduino扩展板的使用_如何使用Arduino和React为烧烤构建仪表板
  7. 阿里云+wordpress搭建个人网站及博客
  8. 数据洞察 | Python解读地摊——你想好摆摊去卖什么了吗?
  9. 99%的人都会遇到的Python “用户环境”问题
  10. REST与RESTful