下面一段代码:int a=1,b=2,t; int *p1,*p2; p1=&a;p2=&b; t=*p1;*p1=*p2;*p2=t;我基本上能明白这是交换*p1和*p2的值,但书上讲解:交换*p1和*p2的值,就是交换a和b的值,即改变指针p1和p2所指向变量的值,而指针p1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 08:26:29
下面一段代码:int a=1,b=2,t; int *p1,*p2; p1=&a;p2=&b; t=*p1;*p1=*p2;*p2=t;我基本上能明白这是交换*p1和*p2的值,但书上讲解:交换*p1和*p2的值,就是交换a和b的值,即改变指针p1和p2所指向变量的值,而指针p1

下面一段代码:int a=1,b=2,t; int *p1,*p2; p1=&a;p2=&b; t=*p1;*p1=*p2;*p2=t;我基本上能明白这是交换*p1和*p2的值,但书上讲解:交换*p1和*p2的值,就是交换a和b的值,即改变指针p1和p2所指向变量的值,而指针p1
下面一段代码:int a=1,b=2,t; int *p1,*p2; p1=&a;p2=&b; t=*p1;*p1=*p2;*p2=t;
我基本上能明白这是交换*p1和*p2的值,但书上讲解:交换*p1和*p2的值,就是交换a和b的值,即改变指针p1和p2所指向变量的值,而指针p1和p2的值没有改变.请问指针的值和指针所指向变量的值有什么区别?

下面一段代码:int a=1,b=2,t; int *p1,*p2; p1=&a;p2=&b; t=*p1;*p1=*p2;*p2=t;我基本上能明白这是交换*p1和*p2的值,但书上讲解:交换*p1和*p2的值,就是交换a和b的值,即改变指针p1和p2所指向变量的值,而指针p1
指针p1存储的内容是a的地址,指针的值就是这个地址
指针指向变量的值,就是这个指针存储的地址指向的变量的值