大话编程(三)

简介: 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就拥有了多个内存地址,一般只用保存最开始的那个个地址就行了

 

目录
相关文章
|
监控 安全 数据可视化
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
|
安全 网络安全 定位技术
华为基础数通知识
了解基本的数通知识,成为更好的自己
|
开发工具 vr&ar 图形学
Pico Neo 3教程☀️ 一、SDK的下载与快速入门
Pico Neo 3教程☀️ 一、SDK的下载与快速入门
|
存储 缓存 监控
使用 Scapy 库编写 ARP 拒绝服务攻击脚本
使用 Scapy 库编写 ARP 拒绝服务攻击脚本
|
XML 文字识别 网络协议
各类免费API接口推荐,再也不怕找不到免费API了
我收集了一些各类免费的API,在这里分享给大家,希望可以帮助到大家~
1388 1
各类免费API接口推荐,再也不怕找不到免费API了
|
存储 自然语言处理 文字识别
非结构化数据怎么治理?
非结构化数据怎么治理?
|
小程序 Android开发 iOS开发
微信小程序连接蓝牙工具类支持IOS和安卓
微信小程序连接蓝牙工具类支持IOS和安卓
359 0
|
JavaScript 数据安全/隐私保护
中岩培训 某讯云 m3u8二次加密key分析
中岩培训 某讯云 m3u8二次加密key分析
中岩培训 某讯云 m3u8二次加密key分析
Codeforces Round 799 (Div. 4)
Codeforces Round 799 (Div. 4)
223 0
|
Python
Python 缩进问题-inconsistent use of tabs and spaces in indentation.原因及解决方法
Python 缩进问题-inconsistent use of tabs and spaces in indentation.原因及解决方法
6723 0
Python 缩进问题-inconsistent use of tabs and spaces in indentation.原因及解决方法