6.1指针和指针变量 例6.3通过指针变量实现变量值的交换。 #include <stdio.h> pa 9 void main() &a 50 int a=10,b=50,temp; pb b &b 10 int *pa,*pb; pa=&a,pb=&b; temp 10 printf("a=%d,b=%dIn",a,b); temp=*pa,*pa=*pb,*pb=temp;*变量a与b的值交换*/ printf("a=%d,b=%dIn",a,b);
6.1 指针和指针变量 例6.3 通过指针变量实现变量值的交换。 #include <stdio.h> void main() { int a=10,b=50,temp; int *pa,*pb; pa=&a,pb=&b; printf("a=%d,b=%d\n",a,b); temp=*pa,*pa=*pb,*pb=temp; /*变量a与b的值交换*/ printf("a=%d,b=%d\n",a,b); } pa pb a b &a &b 50 10 temp 10 50 10
6.1 指针和指针变量 例6.3A通过指针变量实现变量值的交换。 #include <stdio.h> pa a 50 void main() &a {inta=10,b=50; pb b &b 10 int *pa,*pb,*pc; pa=&a,pb=&b; 10 printf("a=%d,b=%dIn",a,b); *pc=*pa,*pa=*pb,*pb=*pc;*变量a与b的值交换*/ printf("a=%d,b=%dIn",a,b);
6.1 指针和指针变量 例6.3A 通过指针变量实现变量值的交换。 #include <stdio.h> void main() { int a=10,b=50; int *pa,*pb,*pc; pa=&a,pb=&b; printf("a=%d,b=%d\n",a,b); *pc=*pa,*pa=*pb,*pb=*pc; /*变量a与b的值交换*/ printf("a=%d,b=%d\n",a,b); } pa pb a b &a &b 50 10 pc ? ? 10 50 10
6.1指针和指针变量 例6.3B通过指针变量实现变量值的交换。 #include <stdio.h> a void main() &h 10 {inta=10,b=50; pb int *pa,*pb,*pc; &o 50 pa=&a,pb=&b; pc printf("a=%d,b=%dIn",a,b); &a pc=pa,pa=pb,pb=pc;*pa与pb的指间交换*/ printf("a=%d,b=%d小n",a,b)月 printf("*pa=%d,*pb=%dIn",*pa,*pb);
6.1 指针和指针变量 例6.3B 通过指针变量实现变量值的交换。 #include <stdio.h> void main() { int a=10,b=50; int *pa,*pb,*pc; pa=&a,pb=&b; printf("a=%d,b=%d\n",a,b); pc=pa,pa=pb,pb=pc; /*pa与pb的指向交换*/ printf("a=%d,b=%d\n",a,b); printf(“*pa=%d,*pb=%d\n",*pa,*pb); } pa pb a b &a &b 50 10 pc &a &b &a
6.1 指针和指针变量 例6.4通过指针变量求三个变量中的最大值和最小值。 include <stdio.h> void main() int a,b,c,*pmax,*pmin; printf("Please input three numbers:In"); scanf("%d%d%d",&a,&b,&c); if(a>b) [pmax=&a;pmin=&b;} else {pmax=&b;pmin=&a;} if (c>*pmax)pmax=&c; if (c<*pmin)pmin=&c; printf("max=%dIn min=%d\n",*pmax,*pmin);
6.1 指针和指针变量 例6.4 通过指针变量求三个变量中的最大值和最小值。 include <stdio.h> void main() {int a,b,c,*pmax,*pmin; printf("Please input three numbers:\n"); scanf("%d%d%d",&a,&b,&c); if(a>b) {pmax=&a;pmin=&b;} else {pmax=&b;pmin=&a;} if (c>*pmax) pmax=&c; if (c<*pmin) pmin=&c; printf("max=%d\n min=%d\n",*pmax,*pmin); }
6.2 数组与指针 6.2.1指向一维数组的指针 >定义及初始化指向一维数组的指针变量: 首先定义一个整型数组a,再定义一个指向整型变量 的指针变量卫,然后将此数组的第0号元素的地址赋 予p,此时p就是指向a数组的指针,数组的指针就是 数组的起始地址。例如: int a[5]; p a[0] a[4] int *p; p=&a[0];*或p=a;*/
6.2 数组与指针 首先定义一个整型数组a,再定义一个指向整型变量 的指针变量p,然后将此数 组的第0号元素的地址赋 予p,此时p就是指向a数组的指针,数组的指针就是 数组的起始地址。例如: 6.2.1 指向一维数组的指针 ➢定义及初始化指向一维数组的指针变量: int a[5]; int *p; p=&a[0];/*或 p=a;*/ p a[0] a[4]