指针的内容 ; 指针的地址 指针所指向的内容 指针的类型 指针所指向的类型

这几个个东东很具有迷惑性。

int a=10;      //假设a的地址是 0x0000004C

int *p;           //假设p的地址是 0x0035FA94

p=&a;

指针的内容:指针里面存放的是地址。

指针p里面存放的是a的地址(&a)。即指针p里面存放的内容是0x0000004C。


指针的地址指针本身的地址。

指针p的地址就是&p。指针p的地址是0x0035FA94


指针所指向的内容:也就是指针里面存放的地址,那块地址里面存放的内容,通过对指针进行*引用可以拿到那个值。

*p就是指针所指向的内容(*p=10)。


指针的类型:从语法上,只要去掉指针声明中指针的名字,剩下的就是指针的类型。

例如:1、 int *p; 的类型是int。

           2、 char *p;的类型是char。

           3、void *p;  空类型的指针。


指针所指向的类型:当通过指针来访问所指向的内存时,指针所指向的类型   决定了编译器将指针所指向的内存区里面的内容    当做什么类型来看待。


例:1、int *p;指针所指向的类型是int;

       2、char *p;指针所指向的类型是char;

       3、int (*p)[2];所指向的类型是int()[2]

       4、void *p;void表示指针指向的数据类型不确定。

       5、int **p;表示一个指向整形指针的指针。


posted @ 2016-05-11 12:47  午饭要阳光  阅读(632)  评论(0编辑  收藏  举报