正在加载图片...
则,指针变量p指向了数组a的开始,二者产生了联系,这样 就可以通过指针变量p访问数组a了 注意:a是指针常量,p是指针变量。 &a[0&a[1&a[2]&a[3]&a[4 a []a[2]a]a[4 (1)p+i和ai均表示a[的地址, (2)*(p+和+a+i)都表示p+i和a+所指对象的内容,即为a[。 (3)指向数组元素的指针,也可以表示成数组的形式,也就是 说,它允许指针变量带下标,如p回与*p+)等价 假若: 则p2]就相当于*(p+2),由于p指向a[5],所以p2]就相当于 a[7]。而p-3就相当于*(p-3),它表示a[2]。 3、一维数组的访问 例5用多种方法访问一维数组各元素 #include <stdio h> main( {inta[5}={1,3,5,7,9},i,*p=a for(i=0; 1<5; 1++)printf(%d, a[i) for(i=0; i<5; i++)printf("%od, (a+i)) for(i=0; 1<5; i++)printf( %d,piD; for(i=0; 1<5; 1++)printf("%od, " (p+i)) for G p<a+5 p++)printf( %d, p); p=a while(p<a+5)printf(" %od,p++) 4、几个表达式的分析P191 设定义:inta[3}={1,2,3},*s=a; (1) (2)s++,*s++ ++.*a++ (3)*(s++),(*s)++ (a++),(*a)++ (4)初始化时的*s=a;与语句*s=a;的不同 (5)一个指针变量加/减一个整数后,指针变量值的变化情况则,指针变量 p 指向了数组 a 的开始,二者产生了联系,这样 就可以通过指针变量 p 访问数组 a 了。 注意:a 是指针常量,p 是指针变量。 (1). p+i 和 a+i 均表示 a[i]的地址, (2). *(p+i)和*(a+i)都表示p+i 和a+i 所指对象的内容, 即为a[i]。 (3). 指向数组元素的指针, 也可以表示成数组的形式, 也就是 说, 它允许指针变量带下标, 如 p[i]与*(p+i)等价。 假若: p=a+5; 则 p[2]就相当于*(p+2), 由于 p 指向 a[5], 所以 p[2]就相当于 a[7]。而 p[-3]就相当于*(p-3), 它表示 a[2]。 3、一维数组的访问 例 5 用多种方法访问一维数组各元素 #include <stdio.h> main( ) { int a[5]={1, 3, 5, 7, 9}, i , *p=a; for (i=0;i<5;i++) printf(“%d”,a[i]); for (i=0;i<5;i++) printf(“%d”,*(a+i)); for (i=0;i<5;i++) printf(“%d”,p[i]); for (i=0;i<5;i++) printf(“%d”,*(p+i)); for (;p<a+5;p++) printf(“%d”,*p); p=a; while (p<a+5) printf(“%d”,*p++); } 4、几个表达式的分析 P191 设定义:int a[3]={1, 2, 3}, *s=a; (1)s, *s a, *a (2)s++, *s++, a++, *a++ (3)*(s++), (*s)++ *(a++), (*a)++ (4)初始化时的*s=a; 与语句 *s=a; 的不同 (5)一个指针变量加/减一个整数后,指针变量值的变化情况
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有