C语言内存

1.RAM和ROM都是半导体存储器,一个叫随机存储器掉电丢失,一个叫只读存储器掉电保存。

2.RAM又分为静态和动态,静态的速度非常快,动态的慢但是便宜,DDR RAM是电脑中常用存储器,动态内存中的动态是因为一个DRAM单元存储的是0还是1取决于电容是否有电荷,所以时间一长容易电荷变化,所以需要加一个额外电路进行内存刷新操作。

3.计算机程序等于代码、数据、过程。代码是函数,数据就是变量,中间函数体多个函数相继运行,对数据进行加工就是过程,程序最后得到的是一个结果。

4.冯诺依曼结构是代码和数据放在一起,哈弗结构是代码和数据分开存放。 

5.内存就是用来存储可变数据的,在一些Linux系统上,应用程序的数据和代码都放在DRAM中,在单片机中程序代码放在flash中,程序中涉及到的数据必须放在RAM(SRAM)中。 

6.很多编程的关键都是为了内存。数据结构和算法是研究如何组织数据和用更优秀的方法来加工数据。

7.从操作系统角度:操作系统来管理内存,把内存分成了一页一页,每页有4KB大小,页内则以字节为单位进行管理,操作系统给我们提供了内存管理的一些接口API,我们只需要API就可以管理内存。在没有操作系统时就是需要编写程序直接操作内存,容易错误。

8.从语言角度:汇编中没有API接口,C语言中编译器帮我们管理直接的内存地址,有API接口,C++语言对内存进一步封装,用户可以用new和delete来创建内存和删除内存。

9.硬件上内存是内存条,逻辑上内存是用来存放变量的可以随机访问读写的无限多个内存单元格。每个单元格都有一个固定的地址叫做内存地址,这个内存地址和这个内存单元唯一对应且永久绑定。32位的操作系统含有32位数据线和32位地址线,内存限制为4G。

10.计算机中CPU只认识内存地址不关心空间,地址和空间是内存单元的两个方面。

11.在32位的CPU中int整型体现在他和CPU本身的位宽是一样的。数组相当于在内存这个大楼中抽出一段。

12.数据类型决定了后面数字或符号所表征的内存的长度和解析方法,函数是一段代码的封装,所以函数的实质就是一段代码的首地址。

13.int a和int* b都代表一个内存地址,但是内存的长度和解析方法不同

14.最简单的数据结构是数组,把首元素的首地址和变量名p绑定起来,结构体是另外一种数据结构,包中的元素类型不一样。

15.C语言是面向过程的,但是也可以实现面向对象的代码。void (*pFunc)(void)中包含了函数指针的结构体就类别c++中面向对象的class。

16.栈是一种数据结构,C语言中用栈来保存局部变量,先进后出是栈,先进先出是队列。

17.堆是一种内存管理方式,堆内存是操作系统划归给堆管理器的一部分,使用者通过API来使用堆内存。

18.复杂的数据结构有链表、哈希表、二叉树和图等。用来解决一些特定的复杂问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值