千家信息网

C语言数据类型是如何被大多数计算机系统所支持

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,今天就跟大家聊聊有关C语言数据类型是如何被大多数计算机系统所支持,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。问题:在读K&R版的The C
千家信息网最后更新 2026年11月04日C语言数据类型是如何被大多数计算机系统所支持

今天就跟大家聊聊有关C语言数据类型是如何被大多数计算机系统所支持,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

问题:

在读K&R版的The C Programming Language一书时,我在[介绍,第3页]看到这样一条说明:

因为C语言提供的数据类型和控制结构可以直接被大部分计算机系统所支持,所以在实现自包含程序时所需要的运行库文件一般很小。

这段黑体说明了什么?能否找到一个例子来说明C语言中的某种数据类型或控制结构不被某种计算机系统直接支持呢?

回答:

事实上,C语言中确实有不被直接支持的数据类型。

在许多嵌入式系统中,硬件上并没有浮点运算单元。因此,如果你写出下面的代码:

float x = 1.0f, y = 2.0f;
return x + y;

可能会被转化成下面这种形式:

unsigned x = 0x3f800000, y = 0x40000000;
return _float_add(x, y);

然后编译器或标准库必须提供’floatadd()’的具体实现,这会占用嵌入式系统的内存空间。依此去计算代码在某个微型系统(译者注:也就是指微型嵌入式系统)的实际字节数,也会发现有所增加。

另一个常见的例子是64位整型数(C语言标准中’long long’类型是1999年之后才出现的),这种类型在32位系统上也不能直接使用。古董级的SPARC系统则不支持整型乘法,所以在运行时必须提供乘法的实现。当然,还有一些其它例子。

其它语言

相比起来,其它编程语言有更加复杂的基本类型。

比如,Lisp中的symbol需要大量的运行时实现支持,就像Lua中的table、Python中的string、Fortran中的 array,等等。在C语言中等价的类型通常要么不属于标准库(C语言没有标准symbol或table),要么更加简单,而且并不需要那么多的运行时支 持(C语言中的array基本上就是指针,以NULL结尾的字符串实现起来也很简单)。

控制结构

异常处理是C语言中没有的一种控制结构。非局部的退出只有’setjmp()’和’longjmp()’两种,只能提供保存和恢复某些部分的处理器状态。相比之下,C++运行时环境必须先遍历函数调用栈,然后调用析构函数和异常处理函数。

看完上述内容,你们对C语言数据类型是如何被大多数计算机系统所支持有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

语言 系统 类型 支持 数据 运行 计算机 标准 结构 控制 例子 内容 函数 嵌入式 处理 乘法 代码 要么 复杂 一书 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 河南云网互联网络科技有限公司 科技互联网龙头 美国互联网科技巨头监管 互联网科技未来 北京互联网科技有限公司 广州凡科互联网科技 互联网金融和金融科技 美国互联网前沿科技 哈尔滨秒房互联网科技有限公司 互联网科技公司的市场部门 云创客互联网科技公司 阿大互联网科技有限公司 想开互联网科技公司怎么样 萌小萌互联网科技河南有限公司 互联网科技机房 互联网界的黑科技 求路客互联网科技电话 宁波允成互联网科技有限公司 伍佰万互联网科技是干嘛的 哈尔滨大商圈互联网科技有限公司 科技金融是不是互联网金融 互联网科技视频 朗涯互联网科技 科技创新互联网企业 知域互联网科技有限公司大骗子 速维有品互联网信息科技(苏州)有限公司 众安科技工业互联网合作 互联网科技企业商标注意事项 河南商务圈互联网科技有限公司
0