首先我们思考几个问题:
什么是指针?为什么要有指针?指针是用来干什么的?
假如现在有一栋六层的宿舍楼,设计师并没有标注楼层以及宿舍号,那么把俩个人分别放到俩个宿舍里,但不告诉他们这里是哪间宿舍,让他们找到彼此。能感受到俩位同学的绝望吗?但如果我们标注了楼层号,并且标注了宿舍号,那只需要告诉对方我在哪哪个宿舍,对方马上就可以找到你了呀。
我们可以把这一个个宿舍看作是内存,宿舍里面的人看作是变量,而宿舍号就是这个变量的地址,那么门牌号就是一个指针,它直接指向这个宿舍号里的同学,即指针直接指向变量。
那么,我们之前问题的答案就显而易见了:
指针就是地址,为了更快找到需要找到的内容的内存地址,快速定位。
一、一级指针
指针就是地址,指针变量就是变量。
为了能明确内存单元,我们给内存单元进行了编址,这些内存单元中存放着不同的变量,他们都有提前编好的地址。为了记住这些地址,我们也需要一个变量来存放这个地址,那么这个变量就是我们的指针变量。即存放着地址的变量我们把它叫做指针变量。
注意:一个内存单元的长度为8bits,占一个字节。假设现有一个int型变量,int型占4个字节,每个字节都有一个地址。其指针变量其实存放的是4个内存单元中第一个内存单元的地址。
int main()
{
int n=10;
int *p=&n;
return 0;
}