C语言程序设计 第8章指针 2八>东故去什系机
1
第8章指针 2 8.1指针和指针变量 8.2指针与数组 8.3指针与函数 2021-2-20
2021-2-20 2
81指针和指针变量 3 81.1指针和指针变量的概念 变量的两个物理意义 I⊥ 2000 Float x, E001 变量的内容 E002 E003 E004 变量的地址 E005 2021-2-20
2021-2-20 3 变量的两个物理意义 变量的内容 变量的地址
81指针和指针变量 4 81.1指针和指针变量的概念 IfLRa 利用变量名 int线,bc 52000 存取数据的方式 2001 b=:直接将整刻称为“直接存取 32002 ”方式。 2003 c=,直接将整要 82004 直接将变量乱、b的值 E005 取出,相加后存入变量c 2021-2-20
2021-2-20 4 5 3 8
81指针和指针变量 81.1指针和指针变量的概念 2000 C语言 mainO 5 E001 还提供了对/inta=5,b=3,c,*:b3p00 &c 内存单元的 p* E003 a t b 8 E004 ●变量的地址称为变量的指针 2005 ●存放地址的变量称为指针变量 2006 2004 2007 a和b相加的结果(D=a+b)存放 到变量p所指向的内存单元中去。 此时称为指针变量p的目标变量。L204 2021-2-20
2021-2-20 5 5 3 2004 p=&c 8
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