82指针与数组 16 82.1指向数组的指针 名是地址,指向数组的指针变量在放的也是地址。 夔粕指尚数组的瞽变的区别:停于=a a[0] 指针变量是变量可以赋值, 数用指针变量引用数组元素, 必须关注其当前值。例如: +3 米(p-1)、p[-1等价于a[2] L349g秒8zL la[ 9] 2021-2-20
2021-2-20 16 a[0] a[9] a[1] . . . . . . 1 2 3 4 5 6 7 8 9 10
82指针与数组 例8.4】输入五个整数,使用指针变量将这五个数 按从小到大排序后输出。 man 输入a数组 f int a[51, "pp, * p, g, t; for(p=a; p<a+4; p++) for(p=a; p<a+5; p++ Pp-p scanf(%od",p) for(q=p+1; q<a+5: 9++ for(p=a; p<a+4; p++ ipp-q i pp=p; PP-g for(q=p+1;q<a+5;q++) pp -p if(pp>*q) pp=q: kpp→p if(pp=p) 输出a数组 it=*p; *p=*pp; * pp=t;j 图89选择法排序NS图 for (p=a; p<a+; p++) printfrrie d",p); printf("n"); 2021-2-20
2021-2-20 17 输入a数组 for (p=a; p<a+4; p++) pp=p for (q=p+1; q<a+5; q++) T *pp>*q F pp=q T pp!=p F *pp*p 输出a数组 图8.9 选择法排序N-S图
82指针与数组 18 82.1指向数组的指针 2.二维数组的指针 a 10111213 [2] 20212223 ()二维数组的地址 例如:inta3[4]; ①二维数组名a是数组的首地址。 ②二维数组a包含三个行元素:a[0]、a、a2]。 三个行元素的地址分别是:a、a+1、a+2。 而a[0]、a1、a2]也是地址量,是一维数组名, 即*(a+0)、*(a+1)、*(a+2)是一维数组首个元素地址。 2021-2-20
2021-2-20 18 0 10 20 1 11 21 2 12 22 3 13 23 a[0] a a[1] a[2] a a+1 a+2
82指针与数组 19 82.1指向数组的指针 2.二维数组的指针 a[0H+la[0H2a[0+3 a0数组0 a数组10111213 a2数组20212223 (2)二维数组元素的地址 a[2H1a[2}+2a[2H+3 a[0]、a[1、a[2是一维数组名, 所以a订+是数组元素的地址 数组元素a[i[j的地址可以表示为下列形式: &ai[j、ai+j、*(a+i)+j 2021-2-20
2021-2-20 19 0 10 20 1 11 21 2 12 22 3 13 23 a[0]数组 a[1]数组 a[2]数组