指针是c语言中比较重要的一块,接下来让我们来分析一下指针有什么用以及怎么用。
指针顾名思义就是指向某个东西,定义是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值,由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。举个例子,桌面上的快捷方式大家都用过吧,这个快捷方式大家就可以理解为一个指针,它指向了我们要打开的应用的地址。
介绍完怎么指针有什么用那么接下来将要将怎么用,在c语言中有一个符号,是“*”,也就是平时大家所说的星号,它表示的意思是指向某个变量。而声明指针的格式就是 type *var name,type就是c语言中的基本类型,如int,char等等,var name就是变量,大家可以随便取。声明完指针变量后就可以开始使用指针了,让我们来看看例子:
#include <stdc++.h> using namespace std; int main() { int *bian;//声明指针变量 int jun = 1; bian = &jun;将jun的地址赋给变量 printf("%d", *bian);//输出指针变量中的储存的值(不是地址) system("pause"); }
运行一下会得到一下结果:
可以看到输出的就是我们最先定义的变量jun的值。
可能有人看到这儿还是有点懵,那我们把程序稍微变一变:
#include <stdc++.h> using namespace std; int main() { int *bian;//声明指针变量 int jun = 1; bian = &jun;将jun的地址赋给变量 printf("%d", bian);//输出指针变量中的储存的值(不是地址) system("pause"); }
输出的结果是:
这个是变量jun的内存地址。为什么在输出时把*bian改成了bian结果就会变成这个样子了呢?细心的人可能已经知道了,在这一行:
bian = &jun;将jun的地址赋给变量
我们运用了“&”符号,它的作用就是取地址。讲到这里应该就能理解带*号和不带*的区别了吧,我们先将地址储存到了指针变量中,在输出时如果我们想输出储存的变量的值那么就需要带上“*”,因为它的意思我们刚才讲过了,是指向一个变量,而我们定义的变量就是jun,而不是jun的地址。