今天,我们就开始了解指针。
1.内存与地址
在了解指针之前,我们得先了解一下计算机里的内存和地址。
内存可以理解为是一种内容存储器,计算机上的CPU(中央处理器)在处理数据的时候,需要从内存中读取数据,处理后的数据也会放回内存中。往返,这样就需要对内存中的数据进行有效管理,那计算机是怎样进行管理的呢?其实很简单,计算机将内存划分为许多一个个的内存单元,每个内存单元的大小为一个字节(1 byte)。
说到这我们就扩展介绍一下常见的计算机的内存存储单位以及其中的换算规律
在上面的介绍中我们可以知道内存存储单位最小为比特位(bit),而其中存放着一个二进制的1或0,在对内存有了一个合理的划分后,就要对每个内存单元进行编号,而这所谓的编号就是地址,在C语⾔中我们给地址起 了新的名字叫:指针。这样CPU就可以通过指针快速的找到⼀个内存空间,从而进行数据的输入输出。
其实,在程序中一个变量的创建就是在向内存申请空间,并且通过变量类型的存储大小来分配空间如 int类型的变量的存储大小为4字节,char 类型变量的存储大小为1字节。
2.取地址操作符(&)
现在我们尝试去看看变量地址,那我们要如何才能拿到一个变量的地址呢?到这我们就需要学习⼀个操作符(&)——取地址操作符。
关于取地址操作符(&),顾名思义,就是用来获取地址的一个操作符。
具体运用:
注意:这里地址的打印需要用 %p
那我们拿到这些变量的地址有什么用呢?可以这样想,拿到地址我们就可以快速的访问到该地址上的数据。
3.指针变量
4.指针变量的解引用
其实,在这里我们就可以认为*p就是a了。
---------------------------------------------------------------------------------------------------------------------------------
趣味点:
运行结果为:
感谢观看(^.^)