指针讲解

来源:互联网 发布:外国文献翻译软件 编辑:程序博客网 时间:2024/05/02 11:07

相信大家对指针在很熟悉不过了。下面小弟把自己对指针的理解讲述一下,如有不对的地方还请各位修正。
   
举例:
#include<iostream>
using namespace std;

void main()
{
 int a = 5;
 int* p = NULL;
 p = &a;
 printf("p=%p", p);
 pritnf("&p=%p", &p);
 printf("*p=%d/n", *p);

 

 

 getchar();
}

打印结果:
p = 0013FED4;
&p = 0013FEC8;
*p = 5;

分析:
我们从打印的结果上来分析,
下面我们举一个很常见的列子,假如,我们今天要去一趟国家图书馆,前提是我们并不知道国家图书馆的具体位置在哪里。
我们在去国家图书馆的路途中,遇见一位北京人,我们向这位北京人询问,国家图书馆怎么走,这位行人告诉我们向南一千米,
我们根据这位路人告诉我们的方向前进,走了一会儿我们看见路旁有一个路牌,上面写着,”南:100米处为国家图书管“。
这里的路牌,就是上面的p,取地址p(&p)表示取的是路牌的地址,假如,路牌在朝阳路东南方100米,那么&p打印出来的就是"朝阳路东南方100米",
p=&a,路牌上的内容“南:100米处为国家图书管”,这个内容就代表,a的地址。5就代表国家图书馆。
*p表示"国家图书管",即5