变量的间接引用 第7章指针 例7.1指针变量的基本用法: #include <stdio.h> void main() {int x,y; //定义两个普通变量 int *p1,*p2; //定义两个指针变量 p1=&x; X x=100; 4◆*p1 printf("\n x=%d,*p1=%d "x,*p1); 运行结果: p2=&y; *p2=200; 色p2 x=100,*p1=100 printf("In y=%d,*p2=%d "y,*p2); y=200,*p2=200
第7章 指针 ➢ 指针变量的引用 例7.1 指针变量的基本用法: #include <stdio.h> void main() {int x , y ; //定义两个普通变量 int *p1, *p2; //定义两个指针变量 p1=&x; x=100; printf("\n x=%d, *p1=%d ",x,*p1); p2=&y; *p2=200; printf("\n y=%d, *p2=%d ",y,*p2); } 运行结果: x=100,*p1=100 y=200,*p2=200 x *p1 y *p2 2 变量的间接引用
变量的间接引用 第7章指针 >指针变量的引用 使用指针变量的一般步骤为: 1)先定义指针变量和同类型的普通变量, 如:int*p,x; 2)使用取地址运算符“&”将指针变量指向普通变量,即 p=&X; 3)此后,使用*p即可取代变量x。 网☒D
第7章 指针 使用指针变量的一般步骤为: 1) 先定义指针变量和同类型的普通变量, 如:int *p,x; 2) 使用取地址运算符“&”将指针变量指向普通变量,即: p=&x; 3) 此后,使用 *p 即可取代变量 x 。 ➢ 指针变量的引用 2 变量的间接引用
73太场变昌v知w的值 指针 将例7.3中的程序改写为: 运行结果为: #include〈stdio.h> x=100 y=200 void main() *p1=200 { *p2=100 int x,y,*temp,*p1,*p2; x=100; y=200; (为什么?) p1=&x; p2=&y; temp=pl; //将p1和p2存放的地址交换 p1=p2; p2=temp; 放 printf("\n x=%d y=%d n",x,y) printf (\n *p1=%d *p2=%d n",*p1,*p2);
第7章 指针 2 变量的间接引用 ➢ 指针变量的引用 定义指针变量时,可对其初始化。 例如:int x; int *p=&x; 等价:int x,*p ; p=&x; 两个指针变量可指向同一变量或同一内存单元。 注意:要求两指针变量的类型相同。 注意“p2=p1”和“*p2=*p1”的区别 p2=p1 是将指针变量p1和p2指向同一变量; 而 *p2= *p1 ,则是将指针变量p1所指向的内存单元的内容存放 到指针变量p2所指向的内存空间。 例7.3交换变量x和y的值: #include <stdio.h> void main() { int x,y,temp,*p1,*p2; x=100;y=200; p1=&x; //p1指向变量x p2=&y; //p2指向变量y temp=*p1; //将p1和p2所指向的内存单元的值交换 *p1=*p2; *p2=temp; printf("\n x=%d y=%d\n",x,y); printf("\n *p1=%d *p2=%d\n",*p1,*p2); } 输出结果为: x=200 y=100 *p1=200 *p2=100 将例7.3中的程序改写为: #include <stdio.h> void main() { int x,y,*temp,*p1,*p2; x=100; y=200; p1=&x; p2=&y; temp=p1; //将p1和p2存放的地址交换 p1=p2; p2=temp; printf("\n x=%d y=%d\n",x,y); printf("\n *p1=%d *p2=%d\n",*p1,*p2); } 运行结果为: x=100 y=200 *p1=200 *p2=100 (为什么?)