指针的浅谈
写的比较简单,适用于初学者
变量储存
我们思考一下电脑是怎么进行存储的?
如何将一个变量存储
显然的回答就是把内存条的一段去储存这样的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那个二重地址。