清华大学出版社 TSINGHUA UNIVERSITY PRESS 例10.4输入a、b、c3个整数,按大小顺序输出 #include <stdio. h void main t void exchange (int*q 1, int *q 2, int*q3) int a, b, c,*p 1, *p 2,*p3: scanf ("/d, %d, %od", &a&b &c) p1=&a;p2=&b;p3= exchange (p 1, p2, p3) printf (" n % d, % d, %d\ n", a, b, c); C程序设计(第三版) http://ccf.tsinghua.edu.cn 21
C程序设计(第三版) http://ccf.tsinghua.edu.cn 21 例10.4 输入a、b、c 3个整数,按大小顺序输出。 #include <stdio.h> void main() { void exchange(int *q1, int *q2, int *q3); int a,b,c,*p1,*p2,*p3; scanf(″%d,%d,%d″ ,&a, &b, &c); p1=&a;p2=&b;p3=&c; exchange (p1,p2,p3); printf(″\n%d,%d,%d\n″,a,b,c); }
化学上 void exchange (int * q 1, int * q 2, int q 3 I void swap (int *p t 1, int *p t 2) if (*q 1<*q 2) swap( q 1, q 2) if(*q 1<*q3) swap(q 1,q3); if(*q 2<*q3= swap( q 2,93) void swap (int * p t 1, int*p t 2) fint temp temp=*p t I p t 1=xp t 2 *p t 2-tem C程序设计(第三版) http://ccf.tsinghuaedu.cn 22
C程序设计(第三版) http://ccf.tsinghua.edu.cn 22 void exchange(int *q1, int *q2, int *q3) { void swap(int *pt1, int *pt2); if(*q1<*q2) swap(q1,q2); if(*q1<*q3) swap(q1,q3); if(*q2<*q3= swap(q2,q3); } void swap(int *pt1, int *pt2) {int temp; temp=*pt1; *pt1=*pt2; *pt2=temp; }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.3数组与指针 个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址。 C程序设计(第三版) http://ccf.tsinghua.edu.cn 23
C程序设计(第三版) http://ccf.tsinghua.edu.cn 23 10.3 数组与指针 一个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.3.1指向数组元素的指针 定义一个指向数组元素的指针变量的方法,与以 前介绍的指向变量的指针变量相同。 例如:inta[10] (定义a为包含10个整型数据的数组) i n t kp; (定义p为指向整型变量的指针变量) 应当注意,如果数组为int型,则指针变量的 基类型亦应为int型 C程序设计(第三版) http://ccf.tsinghua.edu.cn 24
C程序设计(第三版) http://ccf.tsinghua.edu.cn 24 定义一个指向数组元素的指针变量的方法,与以 前介绍的指向变量的指针变量相同。 例如:int a[10]; (定义a为包含10个整型数据的数组) *p; (定义p为指向整型变量的指针变量) 应当注意,如果数组为int型,则指针变量的 基类型亦应为int型。 10.3.1 指向数组元素的指针
对该指针变量赋值: TSINGHUA UNIVERSITY PRESS p=&a[0] 把a[0]元素的地址赋给指针变量p。也就是使p 指向a数组的第0号元素,如图: a[o 13 15 19 a[9] 「c程序设计(第三版) http://ccf.tsinghua.edu.cn 25
C程序设计(第三版) http://ccf.tsinghua.edu.cn 25 对该指针变量赋值: p=&a[0]; 把a[0]元素的地址赋给指针变量p。也就是使p 指向a数组的第0号元素,如图: