C++基础之论指针的正确打开方式
论指针的正确打开方式
:所谓指针,顾名思义,就是指利用地址,它的值直接指向(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; }
所以,当然也有指针结构体,指针函数(鄙人较懒,不想写)。