C零基础视频-32-指针铺垫知识:计算机分级结构

计算机的体系结构

  • 冯诺依曼体系结构
  • 哈佛体系结构

CPU是计算的核心,用于解析机器码和执行指令。CPU的数据处理能力非常快,但是(寄存器的)存储空间非常有限。
内存的数据传输速度适中(与CPU、硬盘比),存储空间适中;
硬盘数据传输速度慢,存储空间大。

CPU可以(通过总线)直接操作内存,这样的能力体现在CPU指令上。实际上,计算机的绝大多数功能,都是通过CPU操作内存直接体现的。
其他的显示器、硬盘、打印机等是“外设”。
因此,CPU如何定位内存操作内存,非常重要。

什么是内存

从硬件角度看,内存就是内存条。
从软件角度看,每一个程序运行后,操作系统会分配一块空间给该程序,正在运行的程序的数据,绝大多数放在内存中;
为了能够让CPU可以精确操作每一处内存,所有的内存都有编号,他们被称为内存地址
对于32位程序,内存地址的范围从0到0xFFFFFFFF。

  • 内存是一个小区
  • 内存地址是门牌号码

指针

C语言为了更好地表达内存寻址及数据处理的方式,发明了指针变量。每一个指针变量中,都保存一个内存地址。按照以上的类比,如果内存是小区,内存地址是门牌号码,那么指针更像是名片。

int main(int argc, char* argv[])
{
    int nValue = 100;
    int* pValue = &nValue;
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/shellmad/p/11695591.html