81指针和指针变量 6 81.2指针变量的定义 2000 E001 指针变量定义的形式指针变量初始化 E002 ma in main( 2000 E003 dint a, *p I int a, p=&a E004 float x, *g: float x, q=&x; 2005 p= & 2006 2007 ■■■ 2006 2004 2009 2021-2-20
2021-2-20 6 2004 2000
81指针和指针变量 813指针的基本运算 2000 5 间接存取运算 E001 赋值运算 E002 main maino 2000 E003 I int a, p=&a dint a, *p E004 float x, a&x, float X,米q 2005 =5; &a 2006 print(a+3=%dn",p+3);/9=&x; 2007 2006 2004 2009 为=&a 2021-2-20
2021-2-20 7 2004 2000 ×*p = &a; 5
8]指针和指针变量 8 针变量的 【例8】输入、b两个整数, 使用指针变量按大小顺序输出 6 8 这两个整数。 p1=&a: p2=&b: p 2 scanf("‰‰”,pl,p2); if(*p1<*p2) I p=pl: p1=p2: p2=p: I printf("a=%d,b=%dⅦn″,a,b); printf("max=%d, min=%d\n",*pl, *p2):a=6. b=8 max=8 min=6 2021-2-20
2021-2-20 8 a b p1 p2 p 6 8 a=6,b=8 max=8,min=6 【例8.1】输入a、b两个整数, 使用指针变量按大小顺序输出 这两个整数
8]指针和指针变量 方法2:利用指针变量直接改变目标变量的值a、*p1b、*2 求解 6 maln I int a, b, t, *pl, =p2 pl=&a: p2=&b: p scanf("‰d%d",pl,p2) if(*p1<*p2) t t=*p1;*1=*p2;*p2t;} n a) printf("a=%d, b=%d\n",a, b) a=8,b=6 printf("max=%d, min=%d\n",*pl, *p2): max=8 min=6 2021-2-20
2021-2-20 9 a、*p1 b、*p2 p1 p2 t 6 8 a=8,b=6 max=8,min=6 6 8 6
81指针和指针变量 10 813指针的基本运算 pI 一a[o10404 指针的加减运算 p 405 a1]20406 指针加减运算要点: 407 ①只有当指针变量指向数组时指针的加减 运算才有意义。 az3003 ②指针变量可加减一个整型表达式。如: 109 pl++、p2+3、p2-、p2-2。 40 10 ③指针的加减运算是以基类型为单位(即 11 sizeof(类型))的。 ④两个指针变量不能作加法运算,只有当 a450412 两个指针变量指向同一数组时,进行指针变 113 量相减才有实际意义。如:p2-pl 2021-2-20
2021-2-20 10 P1=404, *p1=10 P2=410, *p2=40 30 20 10 40 50 ① 只有当指针变量指向数组时指针的加减 运算才有意义。 ② 指针变量可加减一个整型表达式。如: p1++、p2+3、p2--、p2-2。 ③ 指针的加减运算是以基类型为单位(即 sizeof(类型))的。 ④ 两个指针变量不能作加法运算,只有当 两个指针变量指向同一数组时,进行指针变 量相减才有实际意义。如:p2-p1