自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 内存管理之栈、堆

内存四区在内存中一般可以分为栈区,堆区,全局区,代码区。栈区:由编译器自动分配,变量离开作用域后栈上的内存会自动释放。存放局部变量,函数形参等。(栈是从高地址向低地址方向增长)堆区:堆是一个大容器,它的容量要远远大于栈。一般比较复杂的数据类型都是放在堆中。由程序员手动分配,需要程序员用后销毁。但若是分配空间后,未进行销毁,系统有可能会帮助销毁。全局区:存放全局变量和静态变量,细分的话有一个常量区,字符串常量和其他常量也放在该位置。程序结束后,由系统自动释放。代码区:存放程序的二进制文件,由系统统

2020-05-11 17:51:21 723

原创 C语言如何操作内存

C语言对内存地址的封装结合内存来解析C语言语句的本质:例子:int a;a = 5 ;a++;int a;编译器帮我们申请一个int类型的内存格子(长度是4个字节,位置是唯一的,也是确定的,但是是编辑器分配,只有编辑器知道,用户不知道,也无需知道),并且将a与这个格子绑定。(即a是该格子的别名)a = 5;编辑器发现我们要给a赋值,就会将5存放到符号a绑定的那个格子中。a + = 4;编辑器发现我们要给a加值,编译器会将a原来的值读出来,然后给这个值加4,在把加之后的和写入到a里面去。用

2020-05-11 00:17:19 1039

原创 内存的编址和寻址、内存对齐

内存的编址和寻址、内存对齐1.内存的编址方法内存在逻辑表示为一个一个的格子,而每个格子都有一个编号,这个编号就是内存地址。内存地址(一个数字)和这个格子空间一一对应,永久绑定。程序运行时,计算机cpu只认识内存地址,而不关心这个地址所代表的空间在哪里,怎么分配等问题。因为硬件设计保证了按照地址能够找到对应的格子。内存单元的2个概念:地址和空间是内存单元的两个方面。2.关键:内存的编址以字节为单位如果把内存比作大楼,那么一个个房间就是内存格子。其中格子的大小是固定的,即8bit。3

2020-05-09 20:34:33 2336

原创 位、字节、半字、字的概念和内存位宽

综合知识点什么是内存?(硬件和逻辑)内存的逻辑抽象图(内存的逻辑模型)字节字,半字,双字的概念内存位宽什么是内存?(硬件和逻辑)从硬件角度,内存实际上是电脑上的一个配件(一般叫内存条)。根据内存内部结构的不同,将内存可以分为SRAM和DRAM(DRAM又有好多代,例如最早的SDRAM,后来的DDR1,、DDR2···、LPDDR)。SRAM无需初始化,DRAM需要初始化。从逻辑角度:内存是这样一个东西,它可以随机访问(随机给个地址都能够访问,并且可以读写)。在编程中,内存的功能就是存放变量(因为有了

2020-05-09 16:18:26 4761

原创 程序为什么需要内存

计算机运行过程计算机运行过程计算机运行过程在计算机中个,程序的运行本质上是函数的运行,而函数的本质是对数据进行加工和处理。.冯诺依曼结构和哈佛结构冯诺依曼结构程序和数据一起存放;哈弗结构程序和数据分开存放。什么是代码:函数什么是数据:全局变量,局部变量。当运行在linux上,所有的应用程序代码和数据都在DRAM上面。在单片机中,程序代码烧写如flash中,程序中涉及的数据(全局变量和局部变量)不能放在flash,必须放在RAM(SRAM)中。动态内存DRAM和静态内存SRAM

2020-05-08 23:48:11 406

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除