栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言|《C Primer Plus》|可移植类型

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言|《C Primer Plus》|可移植类型

#1. 问题提出

C语言的数据类型较多,但却没有相应的对于存储位数的硬性要求,因此对于移植程序不算友好。故提出三个问题:

  1. 如何在不同系统中确保各种类型的功能相同(位数相同)
  2. 关心速度多于空间
  3. 关心空间多于速度
#2. 如何在不同系统中确保各种类型的功能相同(位数相同) #2.1. 精确宽度整数类型(exact-width integar type)

例如,在头文件stdint.h中规定int32_t表32位有符号整数类型,在int为32位的系统中,头文件会把int32_t作为int的别名;在int为16位、long为32位的系统中,头文件会把int32_t作为long的别名(写代码的时候是写int)。
但是计算机底层可能不支持。

#2.2. 最小宽度类型(minimum width type)

例如,int_least8_t是可容纳8位有符号整数值的类型中宽度最小的类型的一个别名。如果某系统的最小整数类型是16位,可能不会定义int8_t类型。尽管如此,该系统仍可使用int_least8_t类型,但可能把该类型实现为16位的整数类型。

#3. 关心速度多于空间(最快最小宽度类型(fastst minimum width type))

例如,int_fast8_t被定义为系统中对8位有符号值而言运算最快的整数类型的别名。

#4. 关心空间多于速度

​C99定义了最大的有符号整数类型intmax_t,可储存任何有效的有符号整数值。类似地,unitmax_t表示最大的无符号整数类型。这些类型有可能比longlong和unsigned long类型更大。

#5. 可移植类型的输入输出

包含在inttype.h头文件中

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号