10.2指针变量的定义和引用 例102 #include <stdio. h> main( p a int al=lla2=22 &a2 int *pl, p2, "p pI=&al 2=&a2 p2 2 printf((“%d,%dn”,*p1,p2); pl; pl=p2; p2=P &al 22 printf(“%d,%dn”,*p1,p2);
10.2 指针变量的定义和引用 例10.2 #include <stdio.h> main( ) { int a1=11,a2=22; int *p1,*p2,*p; p1=&a1; p2=&a2; printf(“%d,%d\n”,*p1,*p2); p=p1; p1=p2; p2=p; printf(“%d,%d\n”,*p1,*p2); } p1 &a1 11 22 a1 p2 a2 &a2 *p1 *p2 &a1 &a2
10.2指针变量的定义和引用 例103 #include <stdio.h> p a main &al 22 int al=11.a2=22.t: ntp 1,*p2 pl=&al; ?1 2 p2=&a2: printf( %d, %od\n,a1, a2); &a2 t=pl;*p1=*p2;*p2=t; printf(o%od, %d\n,, a1, a2)
10.2 指针变量的定义和引用 例10.3 #include <stdio.h> main( ) { int a1=11,a2=22,t; int *p1,*p2; p1=&a1; p2=&a2; printf(“%d,%d\n”,a1,a2); t=*p1; *p1=*p2; *p2=t; printf(“%d,%d\n”,a1,a2); } p1 &a1 11 22 a1 p2 a2 &a2 *p1 *p2 22 11 t 11
10.2指针变量的定义和引用 三、指针作为函数的参数 1、形式:只需要形式参数名前加上一个即可。 AA: void test(int *pointer, char f, char *s) 2、说明 参数的传递是值传递,单向的(从实参到形参) 那么如何理解通过指针作为参数可以改变主调函数中 变量的值呢? 形参得到实参的值(一个地址),函数中可以通过形 参引用该地址,从而可以改变该地址对应变量的值。 但如果形参本身改变了,其值不会传给时参
10.2 指针变量的定义和引用 三、指针作为函数的参数 1、形式:只需要形式参数名前加上一个*即可。 如:void test(int *pointer, char f, char *s) 2、说明 参数的传递是值传递,单向的(从实参到形参)。 那么如何理解通过指针作为参数可以改变主调函数中 变量的值呢? 形参得到实参的值(一个地址),函数中可以通过形 参引用该地址,从而可以改变该地址对应变量的值。 但如果形参本身改变了,其值不会传给时参
10.2指针变量的定义和引用 w 10.4: #include <stdio. h> void test(int *pt); main( i int a=ll, *p=&a printf((“ before call, a=%d,p=%xln”,a,p); test(p) printf("after call, a=%d, p= xⅦn”,a,p); void test(int *pt) {pt=22;pt+; printf(“ pointer=%x”,p);}
10.2 指针变量的定义和引用 例10.4:#include <stdio.h> void test(int *pt); main( ) { int a=11, *p=&a; printf(“before call, a=%d, p=%x\n”,a,p); test(p); printf(“after call, a=%d, p=%x\n”,a,p); } void test(int *pt) { *pt=22; pt++; printf(“pointer=%x”,pt); }
10.3指针与数组 在C语言中,指针与数组有着密 切的关系。对数组元素,既可以采用 数组下标来引用,也可以通过指向数 组元素的指针来引用。采用指针方法 处理数组,可以产生代码长度小、运 行速度快的程序
10.3 指针与数组 在C语言中,指针与数组有着密 切的关系。对数组元素,既可以采用 数组下标来引用,也可以通过指向数 组元素的指针来引用。采用指针方法 处理数组,可以产生代码长度小、运 行速度快的程序