六年前开始接触到C语言,后来过渡到C++。这段时间中,一直有两种对立观点存在自己的认知当中:
观点一:地址就是指针,指针就是地址,这两个概念是对同一事物的不同称谓。
观点二:指针不同于地址,这种不同点是什么却还是一个疑问。
今天我们就谈一下地址和指针这对孪生兄弟。首先,我个人的观点是:指针不同于地址。
1、概念的区分:
地址:CPU在访问内存单元时,地址线上所施加的那组逻辑值;
指针:指针是地址的进一步抽象,具有类型这一属性;
2、指代内容区分:
地址:指代存储器中一个存储单元
指针:指代存储器中一段存储单元(段的大小取决于指针的类型)
3、使用场合不同:
地址:直接使用存储器或讲解存储器时使用地址这一概念
指针:在编译器中编写程序时,使用指针这一概念
指针类型的作用下节分析