首页>程序媛那么可爱在线全文阅读 > 第四十八章 指针三

第四十八章 指针三

目录

「那swap里面的inttemp=*x和下面的操作是什么意思啊?」

「这里就涉及到了指针中最常用的两个运算符了:*和&。

取地址符&算是我们的老朋友了,它能够将一个变量藏在灵魂深处地址取出来。

在我们最初使用scanf函数的时候,就用到了它,例如我们要从小黑屏上面输入一个数字,然后把这个数字赋值给a:

inta=0;

scanf(“%d“,&a);

现在我们学了指针了,其实这两句代码和下面的代码起到过效果完全一样:

inta=0;

int*p=&a;

scanf(“%d“,p);

在上面的代码中,咱们把a的地址取出来了,然后把这个地址赋值给了一个指向int类型的指针变量p,在scanf函数中,实际上就通过这个指针变量p给a进行了赋值。

至于*嘛,它可是&的好伙伴,&能够将一个变量的地址取出来,*可以从这个地址中获取变量的值,它们俩加起来可以说的狼狈为奸,无恶不作,没有哪个变量能够逃出它们的手掌心。

用另外一个方式说,这两货就是那种游戏中开挂的,能力强得一塌糊涂。

我们还是拿可怜的变量a来举例子:

inta=0;

int*p=&a;

*p=10;

这个时候*p就相当于a本身了,也就是说,我们可以通过*p来操作变量a所在那四个字节内存。

我们对*p进行赋值,效果和对a赋值一样,而我们把*p赋值给一个变量,就和把a赋值给一个变量效果一样。

例如:

intb=*p;

intb=a;

效果完全一样。

「那这么看来指针的使用也不是那么难嘛,就这么两个运算符。

从老爹目前的讲述来看,指针真的没有什么难的,无非就是通过利用指针地址给某个变量赋值,或者获取某个变量的值。

只是让我想不明白的是,明明我们已经有了变量名,为什么还要设计指针这种东西?

等等,我似乎明白老爹那个swap函数的原理了。

「老爹,我好像明白那个用指针实现a、b两个变量内容交换的原理了。

本章未完,点击下一页继续阅读



返回顶部