美文网首页
指针地址与内存地址的区别

指针地址与内存地址的区别

作者: 54番茄 | 来源:发表于2017-10-10 23:43 被阅读129次

    要了解他们区别首先就知道什么是指针? 那指针到底是个什么东西呢?


            通俗点儿理解其实它就是就是一个存放地址的变量存储空间,当指针指向某个变量,这时这个指针里就存放了那个变量的地址。这就是我们常说的指针指向一个地址,意思是通过它能找到以它为地址的内存单元。利用指针我们可以直接获取变量中的值用,要是在指针前加 * 就是取其真值了(也就是被指向的变量的值)

    举个例子:

    如果一个整型变量int iint* p=&i表示将 i 的地址存入整型指针变量即int*中 。

    &i表示对取地址,返回值是i的地址。

    假设i在内存中所存在的地址为xx0bd00a(随便写的)

    也就是说 指针p中存放了xx0bd00a这个地址

    当你操作这个p时就是直接操作了xx0bd00a这个地址中存放的东西,间接操作了变量i,这就是指针的作用。

    那我们在看看内存是什么(其实上面已经描述很清楚了)?内存是实实在在的硬件,可以存放数据,地址是内存的标识,每一个地址都对应一个内存。所以内存和地址是一一对应密不可分的。
    比如说内存就像一个个的小格子,每个格子的大小是一个字节,可以存放一个字节的数据,而指针地址呢,就是存放盒子标号的,我们得到指针,也就可以找到那个盒子了(当然也存在找不到的情况,那就是野指针和空指针,这里就不详细叙说了)。

    相关文章

      网友评论

          本文标题:指针地址与内存地址的区别

          本文链接:https://www.haomeiwen.com/subject/chfiyxtx.html