上一节我们谈的是指针与地址的区别,其中最重要的一点是:
“指针是有类型属性的,而地址没有”
既然“指针=地址+类型属性”;那类型属性的存在到底有什么作用?在回答这一问题前,先来了解几个知识点:
1、内存单元内容的含义
众所周知,内存单元存储的是一系列的01序列。如果我们单纯的去看这一序列,是没有任何含义的,因为它可能是一个数据、也可能是一条指令。也就是说,想要明确内存单元内容的含义,首先要明确我们应该按照什么方式解读这一01序列。
2、协议
所谓的协议,简单而言就是大家都遵守的一套规则。服务方按照协议提供相应的服务,使用方按照协议获取对应的服务。
在了解了上面的两个知识点的基础上,指针类型的作用可以概括如下:
声明与定义的区别下节分析指针的类型属性实质上是在告知编译器,CPU应该根据协议从存储器的某一地址开始按照什么样的方式去解读并使用多大的内存单元。也就是说指针的类型属性表明了局部内存的布局方式和解读规则。