81指针和指针变量 813指针的基本运算 pI ]10 104 指针的关系运算 p 405 ④指向同一数组的两个指针可以进行关系12006 运算,表明它们所指向元素的相互位置关系。 407 如:p2>p1、p2 ②指针与一个整型数据进行比较是没有意 az3003 109 义的 ③不同类型指针变量之间比较是非法的。 40410 ④NULL可以与任何类型指针进行==、! 11 的关系运算,用于判断指针是否为空指针。a450412 113 2021-2-20
2021-2-20 11 30 20 10 40 50 ① 指向同一数组的两个指针可以进行关系 运算,表明它们所指向元素的相互位置关系 。 如:p2 > p1、p2 == p1。 ② 指针与一个整型数据进行比较是没有意 义的 。 ③ 不同类型指针变量之间比较是非法的。 ④ NULL可以与任何类型指针进行==、!= 的关系运算,用于判断指针是否为空指针
82指针与数组 12 82.1指向数组的指针 1.一维数组的指针 a[0 例如:inta[10],*p; (1)数组名是该数组的指针 a是数组的首地址(即a[0]的地址),是 个指针常量。 a=&a[0],a+1=&a1],….,a+9=&a[9 数组元素的下标表示法: a a a[9 数组元素的指针表示法: (a+0),*(a+1),…,*(a+i),…,*(a+9) a[9] 2021-2-20
2021-2-20 12 a[0] a[9]
82指针与数组 13 82.1指向数组的指针 1.一维数组的指针 a[0] (2)指向一维数组元素的指针变量 由于数组元素也是一个内存变量,所 以此类指针变量的定义和使用与指向变量 的指针变量相同。例如:inta[10],* p=a;(或p=&a[0];) 当p指向a[0]时,用p表示数组元素 下标法: p[0],p[1] [i],…,p[9] 指针法: 米(p+0),*(p+1),…,*(p+i),,米(p+9) a[9] 2021-2-20
2021-2-20 13 a[0] a[9]
82指针与数组 14 82.1指向数组的指针 1.一维数组的指针 a[0] 【例83】用指针法输出数组元素。 main( t int a[ 1o, i,"p; for(i=0;i<10;i++) scanf(%d", a+i); 123456 for(i=0;i<10;i++) printf( oo4d", *(a+i) printf("\n"); for(p=ai=0;i<10;i++) 12345678910 printf("%4d",(p+i)12345678910 890 printf("\n); a 2021-2-20
2021-2-20 14 a[0] a[9] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
82指针与数组 15 82.1指向数组的指针 1.一维数组的指针 a[0] 【例83】用指针法输出数组元素。 man 3 fint a[10l, i, "p; for(p=a; p<a+10; p++) 5 scanlon od",p); 6 for(p=a; p<a+10; p++) 7 printf(%od", p); 8 printf("n") 10a 2021-2-20
2021-2-20 15 a[0] a[9] main( ) { int a[10], i, *p; for (p=a; p<a+10; p++) scanf("%d" ,p); for (p=a; p<a+10; p++) printf("%d " , *p); printf("\n"); } 1 2 3 4 5 6 7 8 9 10