C++的难点与重点,众多C++程序员的噩梦,指针。
指针的用途:间接访问内存。
指针是一种数据类型就和int,double一样,只不过指针是用来存储地址的。(我是这么理解的)
每当我们定义一个变量就会给他分配内存,就像是建了一个房子,而内存地址就是这个房子的门牌号,我们通过对门牌号的查询找到这个房子,来找到这个房子里住的是谁,也就是这个变量。
这就是通过指针间接访问内存。
指针变量也是变量也要有房子(内存),也要有门牌号(地址),
装着指针的内存里面是别人的地址。
一、如何定义一个指针。
int a=10;//创建一个变量。
int* p=&a;//指针类型和变量的类型是一致的。
//&是取地址的符号,意思就是变量P是一个指针,指向变量a,p的值就是a的地址
我们可以通过输出的方式来验证一下
//在运行上面的代码后
cout<<&a<<endl;
cout<<p<<endl;
可以看见输出的东西是一模一样的都是两行16进制的数字,代表a的内存。
二、指针的使用
想要通过指针来访问内存地址的话,必须通过解引用的方式。
简单地说就是在指针名前面加上*
也就是说
我们下面的这行代码
int b=*p;
cout<<b<<endl;
就可以把a的值通过b输出,b通过指针间接访问了a的内存。