当前位置: 首页 > news >正文

C 语言中的 对象(object),值(Value),类型(Type)

        C语言的抽象计算模型(Abstract Computational Model)是图灵完备的图灵机(Turing-Completed Turing Machine)。因此,C语言中所操作的对象(Object)是一块内存。如下定义:

        也就是说,对象(object)指的是主存(Main Memory)中的一块空间。那么,该对象就有地址(Address)和大小(Size)。两者组合起来叫做内存位置(Memory Location)。其定义如下:

        当清楚了,在C语言的语境下,什么是对象后,进一步看什么是值,其定义如下:

        也就是,对象(Object)所指的内存空间的内容(Representation / Bit Pattern)所能表达的意义。其解析(Interpretation)需要以来对象(Object)的类型。

        那么,可以将对象(Object)所指向的内存空间的内容(Representation)看作是一连串的 0 和 1。那么,该串01 所表达的意义(Semantics)需要根据该对象的类型进行表达。

        其中,并非所有的01串组合都能表达有意义的值,如枚举类型中,有部分01串是没有意义的。因此,在C标准里,有非值表示(non-value representation)。定义如下:

        也就是说,类型(Type)定义了一个值的集合(Set of Values)。具备该类型的对象的内容(Representation)所表示的值为该集合中的一个。

相关文章:

  • 国债收益率、需求与抛售行为的逻辑解析
  • Maven 处理依赖冲突
  • 软件鉴定测试报告编写有哪些注意事项?又有什么作用?
  • vue3: pdf.js 2.16.105 using typescript
  • 【2025最新】gitee+pycharm完成项目的上传与管理
  • 雷赛伺服L7-EC
  • 如何解决Jmeter中的乱码问题?
  • JVM之jcmd命令详解
  • uniapp小程序轮播图高度自适应优化详解
  • 影楼精修-牙齿美型修复算法解析
  • SSHv2公钥认证示例-Paramiko复用 Transport 连接
  • 养生:塑造健康生活的良方
  • 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(二)
  • React 第三十八节 Router 中useRoutes 的使用详解及注意事项
  • HOT 100 | 【子串】76.最小覆盖子串、【普通数组】53.最大子数组和、【普通数组】56.合并区间
  • electron 结合 react(cra创建的) 创建桌面应用和打包桌面应用
  • 掌握Multi-Agent实践(三):ReAct Agent集成Bing和Google搜索功能,采用推理与执行交替策略,增强处理复杂任务能力
  • “ES7+ React/Redux/React-Native snippets“常用快捷前缀
  • 【K8S系列】Kubernetes常用 命令
  • CUDA编程 - CUDA编程中处理半精度浮点运算(FP16) - fp16ScalarProduct
  • 习近平会见古共中央第一书记、古巴国家主席迪亚斯-卡内尔
  • 开局良好,我国第一季度广告业务收入保持较快增速
  • 人民日报整版聚焦:铭记二战历史,传承深厚友谊
  • 万玲、胡春平调任江西省鹰潭市副市长
  • 上海优化营商环境十大攻坚突破任务中,为何第一项是实施世行对标改革?
  • 戴维·珀杜宣誓就任美国驻华大使