访问(读写)指针变量本身的值,和其他普通变量的访问方式相同
总结:
&room 打印出来的是整型变量的地址
*p3 打印出来的是指针变量指向整型变量的地址上的数值
*是一个特殊的运算符,*p3表示读取指针p3所指向的变量的值,*p3相当于变量room1
实例:
一把钥匙开一把锁
可以拿房间的东西
还可以更换房间里的东西
#include <stdio.h>
#include <stdlib.h>
int main3(void){
int room =2;
int room1 =3;
int *p1 =&room;
int *p2 =p1;//其实就是&room
int *p3 =p1;//其实就是&room
//使用16进制打印,把地址值当成一个无符号数来处理
printf("room的地址:0x%p\n",&room);
printf("p1的值:0x%p p2的值:0x%p\n",p1,p2);
printf("p3的值:0x%p\n",p3);
//p3有第二个房间的钥匙,可以拿房间里的东西
p3 = &room1;
printf("p3的值:0x%p room1的地址:0x%p\n",p3, &room1);
printf("p3指向room1的值= %d ,room1= %d\n",*p3,room1);
//可以改变room1的值,可以改变房间里的东西
*p3 =535;
printf("p3指向room1的值= %d ,room1= %d\n",*p3,room1);
system("pause");
return 0;
}