清华大学出版社 TSINGHUA UNIVERSITY PRESS 例10.4输入a、b、c3个整数,按大小顺序输出 #include <stdio h> void main i void exchange (int *q 1, int* q 2, int *q 3 int a, b p1,*p2,*p3; scanf("od, %d, %d", &a&b&c) p1=&a;p2=&b;p3=&c; exchange (p 1, p2, p 3) printf ("\n%d, % d, %d\ n", a, b,c)
例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); }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 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, q3) void swap (int* p t 1, int*p t 2) Lint temp temp=p t *p t l=p t 2; sp t 2=temp;
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数组与指针 个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址
§10.3 数组与指针 一个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址
出版社 10.3.1指向数组元素的指针 定义一个指向数组元素的指针变量的方法,与以 前介绍的指向变量的指针变量相同。例如 in ta[10] (定义a为包含10个整型数据的数组) n 大 (定义p为指向整型变量的指针变量) 应当注意,如果数组为ⅰnt型,则指针变量的 基类型亦应为int型
定义一个指向数组元素的指针变量的方法,与以 前介绍的指向变量的指针变量相同。例如: int a[10]; (定义a为包含10个整型数据的数组) *p; (定义p为指向整型变量的指针变量) 应当注意,如果数组为int型,则指针变量的 基类型亦应为int型。 10.3.1 指向数组元素的指针
对该指针变量赋值: TSINGHUA UNIVERSITY PRESS p=&a[0] 把a[0]元素的地址赋给指针变量p。也就是使p 指向a数组的第0号元素,如图: 8a[O] 1357 111 1357 19 a[9]
对该指针变量赋值: p=&a[0]; 把a[0]元素的地址赋给指针变量p。也就是使p 指向a数组的第0号元素,如图: