大话编程(三)

简介: 2013年1月15日 20:33:36 前边将了点线面中的数据结构,没有讲'体',这次就说说'体' 根据上边的几幅图,我举的例子都是以8个bit为单位: 1*8bit用作表示字符型;4*8bit用作表示整形 n个1*8bitn用作表示字符型数组;n个4*8bit用作表示整形数组 .

2013年1月15日 20:33:36

前边将了点线面中的数据结构,没有讲'体',这次就说说'体'

根据上边的几幅图,我举的例子都是以8个bit为单位:

1*8bit用作表示字符型;4*8bit用作表示整形

n个1*8bitn用作表示字符型数组;n个4*8bit用作表示整形数组

.......

那如果我想把整形数组,字符型数组放在一起呢,这个整体表示什么?--这就是体,c语言中这种不同长度的类型组成的一堆东西叫做结构体(struct)

至于对应与几何中怎样记忆,就自己想吧,贴图

把一堆不同长度的东西放到一起组成的数据类型叫结构体,

那么把同样的一堆东西再'复制'一份再放一堆,再放一堆,再放一堆,那么,这几堆东西合起来就叫做,结构体数组了

再复习一边:字符-字符数组,整数-整数数组,浮点数-浮点数数组,结构体-结构体数组.......

55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA

另外:为什么是8

先说一句教科书上的话:内存,是以字节编址的.

意思是说,内存是有地址的,每个字节有一个地址(嗯?还是有点儿不懂?)

之前说过,根据半导体的材料和电路的不同连线方式,

贵一点儿的弄几个,横七竖八的和一个只会计算2以内加法的东西堆在一起,盖上盖子就组成了cpu

便宜一点儿的排列整齐堆在一起,就组成了内存条

再便宜点儿的堆一大堆,放到一起就组成了硬盘

数据的流向是,硬盘->内存->cpu

cpu每次都要从内存中按读取数据,然后处理,如果不存在,就告诉硬盘让它把数据给内存,然后再从内存读数据

要保证cpu从内存中读取需要的数据,cpu就得知道需要的数据在内存的哪个地方,

这就需要给内存不同的地方写一个编号,根据编号来找cpu所需的数据,于是就规定,每8个bit给一个编号,这样就可以根据编号来找所需的数据了

而这8个bit就是一个字节,所以说:内存是以字节编址的

1.这个编号(内存地址)在编写程序时也可以获得

2.根据以上贴的几幅图,数组都是连续的(排列整齐的)放在一起的bit;结构体可以放不同长度(不同数据类型)的东西

由1,2可知:

我可以定义一个结构体,即存放本身的数据,又存放上一个结构体的内存地址,这样就多个结构体就可以不用连续的存放在内存中了,这就叫"链表"

同样如果结构体中及存放他前一个结构体的地址,又存放下一个结构体的地址,那么这种链表就叫双向链表

注:以上的'地址'指的是开始地址,因为一个数据类型不可能只占用8bit,如果占用了超过8bit就拥有了多个内存地址,一般只用保存最开始的那个个地址就行了

 

目录
相关文章
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
12天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
491 201
|
4天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
620 157
|
10天前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
4天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
625 46