指针也是一种数据类型,指针变量也是一种变量
指针变量指向谁,就把谁的地址赋值给指针变量
内存含义:
存储器:计算机的组成中,用来存储程序和数据,辅助CPU进行运算处理的重要部分。
内存:内部存贮器,暂存程序/数据—掉电丢失SRAM、DRAM、DDR、DDR2、DDR3。
外存:外部存储器,长时间保存程序/数据—掉电不丢ROM、ERRROM、FLASH(NAND、NOR)、硬盘、光盘。
内存是沟通CPU与硬盘的桥梁:
暂存放CPU中的运算数据。
暂存与硬盘等外部存储器交换的数据
物理存储器和存储地址空间:
有关内存的两个概念:物理存储器和存储地址空间。
物理存储器:实际存在的具体存储器芯片。
主板上装插的内存条
显示卡上的显示RAM芯片·
各种适配卡上的 RAM芯片和ROM芯片。
存储地址空间:对存储器编码的范围。我们在软件上常说的内存是指这一层含义。
编码:对每个物理存储单元(一个字节)分配一个号码
寻址:可以根据分配的号码找到相应的存储单元,完成数据的读写
内存地址.
将内存抽象成一个很大的一维字符数组。
编码就是对内存的每一个字节分配一个32位或64位的编号(与32位或者64位处理器相关)
这个内存编号我们称之为内存地址。
内存中的每一个数据都会分配相应的地址:
char:占一个字节分配一个地址
int:占四个字节分配四个地址
float、struct、函数、数组等
windows电脑在做数据存储是采用小端对齐
补充:
在基本数据类型之后加上*,就是指针数据类型
地址都是无符号整型十六进制
所有的指针类型存储的都是内存地址,内存地址都是一个无符号十六进制整型数(int)
使用sizeof()测量指针的大小,得到的总是:4或8
sizeof(测的是指针变量指向存储地址的大小,
在32位操作系统下所有指针类型是4个字节大小
在64位操作系统下所有指针类型是8个字节大小