指针的浅谈用于初学者

Posted hqhq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针的浅谈用于初学者相关的知识,希望对你有一定的参考价值。

指针的浅谈

写的比较简单,适用于初学者

变量储存

 我们思考一下电脑是怎么进行存储的?
 
 如何将一个变量存储
 
 显然的回答就是把内存条的一段去储存这样的01串 (01010101010),用这样的01串去表示某个变量
 
 现在就存在一个问题,我怎么知道那一段内存是空闲的呢?可以让我有机会去插入一系列01串去代表某个量呢?
 
 因为内存条它是一个线性结构  而不是环形的   那么如果我知道开始位置,就可以往后面插东西了
 
于是应用了两个符号   
&(地址符):  &A 即表示 A这个变量所在的起始位置
*(取址符):  *A 表示在内存条上A位置变量是什么

例如  
内存条从(1---26)的位置上分别存储的变量是(a,b,c---z)
那么  
1就是a的储存地址  a就是1这个存储地址所表示的变量;   
2就是b的储存地址  b就是2这个存储地址所表示的变量;
所以
&a=1; *1=a;
&b=2; *2=b;

指针是什么

那么什么是指针呢?

普通变量是用来储存一些值(比如整数、小数、字符。。。。。)的东西

指针变量则是用来储存内存条地址的东西

我们可以通过 *(取址符)获得这个指针变量所存储的普通变量的值

例如
    int * A;  此时A存的就是一个地址   
    A=(内存条上的某个地址)
    *A=(内存条上的某个地址 所存的普通变量)
    
    小思考?
    &A是什么呢?
    
    
    因为A本质上也是一个变量,他也会在内存条上有储存的地址  
    所以&A那个二重地址。

以上是关于指针的浅谈用于初学者的主要内容,如果未能解决你的问题,请参考以下文章

对kotlin和java中的synchronized的浅谈

浅谈JS中的浅拷贝与深拷贝

netty的浅谈(亮银星)

《转》 浅谈C# 多态的魅力(虚方法,抽象,接口实现)

postgresql之ctid的浅谈

linux的浅谈io操作