化学上 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, 93) if(*q 2<*q3= swap( q 2,93) void swap (int *p t 1, int*p t 2) fint temp temp=*p t 1; p t 1=xp t 2 s p 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 8.3通过指针引用数组 8.3.1数组元素的指针 个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址
8.3 通过指针引用数组 一个变量有地址,一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相 应的地址。指针变量既然可以指向变量,当然也 可以指向数组元素(把某一元素的地址放到一个 指针变量中)。所谓数组元素的指针就是数组元 素的地址。 8.3.1 数组元素的指针
清华大学出版社 TSINGHUA UNIVERSITY PRESS 可以用一个指针变量指向一个数组元素。 例如:inta[10]; (定义a为包含10个整 型数据的数组) int p (定义p为指向整型变量 的指针变量) p=&a|0]; (把a[0]元素的地 址赋给指针变量p) 也就是使p指向a数组的第0号元素
可以用一个指针变量指向一个数组元素。 例如:int a[10]; (定义a为包含10个整 型数据的数组) int *p; (定义p为指向整型变量 的指针变量) p=&a[0]; (把a[0]元素的地 址赋给指针变量p) 也就是使p指向a数组的第0号元素
清华大学出版社 TSINGHUA UNIVERSITY PRESS a[0 1357 15 17 19 a[9]
清华大学出版社 TSINGHUA UNIVERSITY PRESS 8.3.2指针的运算 C语言规定在指针指向数组元素时,可以对指针 进行以下运算: 加一个整数(用+或+=),如p+1 减一个整数(用-或=),如p1 自加运算,如p+,+p 自减运算,如p-,-p 两个指针相减,如pl-p2(只有p1和p2都指 向同一数组中的元素时才有意义)
C语言规定在指针指向数组元素时,可以对指针 进行以下运算: 加一个整数(用+或+=),如p+1 减一个整数(用-或-=),如p-1 自加运算,如p++,++p 自减运算,如p--,--p 两个指针相减,如p1-p2 (只有p1和p2都指 向同一数组中的元素时才有意义)。 8.3.2 指针的运算