变量的值和变量在内存中的地址的关系?求解
#include <stdio.h>#include <conio.h>
void swap2Variable(int* a,int* b)
{
printf("a在内存中的地址为%p,b在内存中的地址为%p\n",&a,&b);
printf("a的值为%p,b的值为%p\n",a,b);
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int num1=3,num2=5;
printf("num1在内存中的地址为%p,num2在内存中的地址为%p\n",&num1,&num2);
int* pnum1=&num1;
int* pnum2=&num2;
printf("pnum1在内存中的地址为%p,num2在内存中的地址为%p\n",&pnum1,&pnum2);
printf("pnum1的值为%p,num2的值为%p\n",pnum1,pnum2);
swap2Variable(pnum1,pnum2);
printf("num1=%d,num2=%d",num1,num2);
getch();
return 0;
}
上述代码运行结果如下:
问题了来了,这个pnum1的值和pnum1在内存的地址是怎么样的关系?求大神帮忙指点下。。。