基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main q(1,9) int i 栈 q1,9)j int m,n main 7
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) 函数调用关系树 main int i q (1, 9) int m, n 栈 7
基本知识 ·计算机内存 需要分出一块来作为数据栈 函数调用关系树 main int i 9(1,9) 91,3) int m,n p(1,9)q(1,3) int i 栈 int m,n main 8
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) p(1,9) q(1,3) main int i q (1, 9) int m, n int i q (1, 3) int m, n 栈 函数调用关系树 8
基本知识 。计算机内存 需要分出一块来作为数据栈 函数调用关系树 inti ,0 main int m,n int i 9(1,9) 91,3) int m,n p(1,9) q(1,3) int i 栈 q1,9)j p(1,3) q(1,0) int m,n main 9
基 本 知 识 • 计算机内存 需要分出一块来作为数据栈 main r q(1,9) p(1,9) q(1,3) p(1,3) q(1,0) main int i q (1, 9) int m, n int i q (1, 3) int m, n int i q (1, 0) int m, n 栈 函数调用关系树 9
基本知识 。计算机内存 1.初学编程时的认识 2.学习递归函数时的认识 代码 3.学习动态存储分配时的认识 静态数据 通过malloc等函数申请的空 间安排在堆上 堆 内存的这种划分是通过操作 系统和编译器实现的,不是在 硬件层面上的划分 栈 10
基 本 知 识 • 计算机内存 1. 初学编程时的认识 2. 学习递归函数时的认识 3. 学习动态存储分配时的认识 通过malloc等函数申请的空 间安排在堆上 内存的这种划分是通过操作 系统和编译器实现的,不是在 硬件层面上的划分 代 码 静 态 数 据 堆 栈 10
基本知识 ·计算机内存分层 内存方面的基本局限:构造非常快的存储器或者 非常大的存储器都是可能的,但是构造不出既快 又大的存储器 虚拟内存(磁盘) 内存分层是指整个内存由 几层不同速度和大小的存 物理内存 储器组成,并且最靠近处 理器的那一层最快最小 2级缓存 1级缓存 寄存器(处理器
基 本 知 识 • 计算机内存分层 – 内存方面的基本局限:构造非常快的存储器或者 非常大的存储器都是可能的,但是构造不出既快 又大的存储器 – 内存分层是指整个内存由 几层不同速度和大小的存 储器组成,并且最靠近处 理器的那一层最快最小 虚拟内存(磁盘) 物理内存 2级缓存 1级缓存 寄存器(处理器) 11