程序运行情况为: please input m, n: 10,8 m=10,n=8 min=8. maxell 7
程序运行情况为: please input m,n: 10,8 ↙ m=10, n=8 min=8, max=10
m &m 10 &n 10 2 n 2 n &n-8 &m 8 (b) 图10.5利用指针从小到大输出两个数 7
图10.5 利用指针从小到大输出两个数 p1 m p1 m p2 n p2 n (a) (b) &m 10 &n 8 &m 8 &n 10
10.23指针的运算 指针运算是以指针变量所特有的地址值 为运算量进行的运算。 1.赋值运算(=) 指针赋值运算是将某个地址赋给指针变 量 例如: int a b int*pl. p2 1=&a 2=&b 7 2=p1
10.2.3 指针的运算 指针运算是以指针变量所特有的地址值 为运算量进行的运算。 1.赋值运算(=) 指针赋值运算是将某个地址赋给指针变 量。 例如: int a,b; int *p1,*p2; p1=&a p2=&b; p2=p1;
2.算术运算 指针的算术运算包括:指针的加1、减1运算, 指针与整数的加、减运算以及指针相减运算 (1)指针的自增自减运算(++,--) 因为指针执行自增自减运算时按它所指向数 据类型的字节长度为单位进行运算。不同数据类 型的数据所占的内存字节数是不同的,指针自增 自减运算后,地址变化的字节数也是不同的。 p运算相当于p=p+d,其中d是p指向变量在内存 中分配的字节数,对于int而言d值为2,char是1, long int是4,foat是4, double是8。如果p指向其 他构造类型变量(x)时,d的值是 sizeof(x)( sizeof运算符是计算变量在内存中所占的字节数)
2.算术运算 指针的算术运算包括:指针的加1、减1运算, 指针与整数的加、减运算以及指针相减运算。 (1)指针的自增自减运算(++,− −) 因为指针执行自增自减运算时按它所指向数 据类型的字节长度为单位进行运算。不同数据类 型的数据所占的内存字节数是不同的,指针自增 自减运算后,地址变化的字节数也是不同的。 p++运算相当于p=p+d,其中d是p指向变量在内存 中分配的字节数,对于int而言d值为2,char是1, long int 是4,float是4,double是8。如果p指向其 他构造类型变量(x)时,d的值是sizeof(x)( sizeof运算符是计算变量在内存中所占的字节数)
(2)指针与整数的加、减运算 与指针的自增自减运算类似,C语言中指针 变量加上(或减去)一个整数n,如p+5相当于 p+5*d(d为变量所占的字节数)。 例如: float x, pf-=&x; 假设变量x的地址为400,则pf+5所表示的 地址值为:4000H+5×4-4014H 7
(2)指针与整数的加、减运算 与指针的自增自减运算类似,C语言中指针 变量加上(或减去)一个整数n,如p+5相当于 p+5*d(d为变量所占的字节数)。 例如: float x,*pf=&x; 假设变量x的地址为4000H,则pf+5所表示的 地址值为:4000H+54=4014H