/*********************************************
功能:指针与变量之间的关系
日期:2014年12月3日17:17:59
************************************************/
#include<stdio.h>
int main()
{
int *p1, *p2, a, b;
a = 1; b = 20;
p1 = &a;
p2 = &b;
printf("a = %d, b = %d\n",a, b);
printf("*p1 = &a, *p2 = &b\n", *p1, *p2);
printf("&a = 0x%x, &b = 0x%x\n", &a, &b);
printf("p1 = 0x%x, p2 = 0x%x\n", p1, p2);
*p1 = b;
*p2 = a;
printf("after changing *p1, a also changed correspondingly......\n");
printf("a = %d, b = %d\n", a, b);
printf("*p1 = %d, *p2 = %d\n", *p1, *p2);
}
/*******************************************************************************************************
a = 1, b = 20
*p1 = &a, *p2 = &b
&a = 0x18ff3c, &b = 0x18ff38
p1 = 0x18ff3c, p2 = 0x18ff38
after changing *p1, a also changed correspondingly......
a = 20, b = 20
*p1 = 20, *p2 = 20
Press any key to continue
********************************************************************************************/
</pre><pre name="code" class="cpp">
注意:若把一个变量的地址赋给指针,这时,该指针所指向的内存单元实际就是该变量的内存单元。因此,在此之后,无论改变指针所指向的内容还是改变原变量的内容,都会对两者起作用。