论指针的正确打开方式
指针:所谓指针,顾名思义,就是指利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。
我们会想,如何用指针输出一个数的值呢?是不是可以直接输呢?不试怎么可以见分晓。
程序如下:
#include<iostream>
using namespace std;
int main()
{
int a=1,*b;
b=&a; //让b指向a
cout<<b<<endl;
}
运行结果如下:
我们会发现,它输出了1的地址,而不是值,这时候,我们就要用到一个神奇的东西——*。
这里是鄙人的代码,请收下:
#include<iostream>
using namespace std;
int main()
{
int a=1,*b;
b=&a; //让b指向a
cout<<*b<<endl; //*相当于一把钥匙,打开了通往a(也就是1)的值的大门
}
运行后:
怎么样?挺简单的吧?这里还有升级版的:
#include<iostream>
using namespace std;
int main()
{
int a;
a=1;
int *b;
b=&a;
int **c;
c=&b;
int ***d;
d=&c;
int ****e;
e=&d;
int *****f;
f=&e;
cout<<*****f<<endl;
}
还有指针版比大小:
#include<iostream>
using namespace std;
main()
{
int a,*pointer_of_a;
int b,*pointer_of_b;
cin>>a>>b;
pointer_of_a=&a;
pointer_of_b=&b;
*pointer_of_a>*pointer_of_b?cout<<*pointer_of_a:cout<<*pointer_of_b;
cout<<endl;
}
所以,当然也有指针结构体,指针函数(鄙人较懒,不想写)。