指针变量(4) 例162,c使两个指针变量交换指向。 main i int *pl, *p2,*p, al=10, a2=20 =&al 2=&a2 printf((“%d,%dⅧn”,“p1,p2); p=pl; p1=p2; p2=p printf(“%d,%dⅦn”,“pl,p2);
指针变量(4) 例l6_2.c 使两个指针变量交换指向。 main( ) { int *p1, *p2, *p, a1=10, a2=20; p1=&a1; p2=&a2; printf(“%d , %d \n ” , *p1, *p2); p=p1; p1=p2; p2=p; printf(“%d , %d \n ” , *p1, *p2); }
心诗营 al P1&al P1&a2 3 2 3 5 2 5 a2 P2&a2 P2 &al 交换前 8P=p1:pl-p2;=p 交换后 下面表示p1和p1交换所指内容 a P1&a1 P1 &al 3 P 5 a2 5 a2 3 P2&a2 P2&a2 2 p2 交换前a=pl;p1=2;p2p交换后
交换前 下面表示p1和p1交换所指内容 3 5 a1 a2 P1 &a1 P2 &a2 3 5 a1 *p2 a2 *p1 交换后 P1 &a2 P2 &a1 5 3 a1 *p1 a2 *p2 交换后 P1 &a1 P2 &a2 3 5 a1 *p1 a2 *p2 交换前 P1 &a1 P2 &a2 a=*p1;*p1=*p2;*p2=p P=p1;p1=p2;p2=p
指针变量(5) 例163.c交换两个指针变量所指向的变量的值 main() int“pl,*p2,al,a2,a; al=10 a2=20 l=&al. 2=8a2 p a=p1;p1=*p2;*p2=a; printf(al=%d, a2=%d n", al, a2);
指针变量(5) 例l6_3.c 交换两个指针变量所指向的变量的值。 main( ) { int *p1, *p2, a1, a2, a; a1=10; a2=20; p1=&a1; p2=&a2; a=*p1; *p1=*p2; *p2=a; printf(“a1= %d ,a2= %d \n ” , a1, a2); }
指针与数组 、一维数组的指针表示法(指向数组的指针) 复习:一维数组在内存中的存放方法? 如何用一个指针变量将数组中的元素取出并显示出来? 例L65c n151={3,57,9,p;P,一A for(i=0;<5;i++) p=a+1 A[1 pint(“%d”,(a+j); P=a+2 Printf”);/地址法* A P=a+3 for p a; p<a+5; p A|3 printi(%00”,*p);/指 针法*Pa4A4
指针与数组 一、一维数组的指针表示法(指向数组的指针) 复习:一维数组在内存中的存放方法? A[0] A[1] A[2] A[3] A[4] P=a p=a+1 P=a+2 P=a+3 P=a+4 例L6_5.c main( ) { int a [5] ={1, 3, 5, 7, 9}, *p; for(i=0;i<5;i++) printf(“%d”,*(a+i)); Printf(“\n”);/*地址法*/ for (p=a; p<a+5; p++) printf(“%d” , *p);/*指针法*/ } 如何用一个指针变量将数组中的元素取出并显示出来?
指向数组的指针 当p=a后,有: p=a=&a[0 p=*(a+0)=a0 +1=+1=&a[l 2(p+1)=*(a+1)=a[1 这里(p+1)若写成*p+1就不行了,p+1的 内容是2
指向数组的指针 当p=a后,有: p=a=&a [0] *p=*(a+0)=a [0] p+1=a+1=&a [1] *(p+1)=*(a+1)=a [1] … … 这里*(p+1)若写成*p+1就不行了,*p+1的 内容是2