清华大学出版社 TSINGHUA UNIVERSITY PRESS 分别说明如下: 1)如果指针变量p已指向数组中的一个元素,则p+1 指向同一数组中的下一个元素,p-1指向同一数组中 的上一个元素。 (2)如果p原来指向a[0],执行+p后p的值改变了,在p的 原值基础上加d,这样p就指向数组的下一个元素a1]l (3)如果p的初值为&a[0],则p+i和a+i就是数 组元素a[i]的地址,或者说,它们指向a数组的 第i个元素。 (4)*(p+i)或*(a+i)是p+i或a+i所指向 的数组元素,即a[i]。 (5)如果指针变量p1和p2都指向同一数组,如执行p2-pl, 结果是两个地址之差除以数组元素的长度
分别说明如下: (1)如果指针变量p已指向数组中的一个元素,则p+1 指向同一数组中的下一个元素,p-1指向同一数组中 的上一个元素。 (2) 如果p原来指向a[0],执行++p后p的值改变了,在p的 原值基础上加d,这样p就指向数组的下一个元素a[1]。 (3) 如果p的初值为&a[0],则p+i和a+i就是数 组元素a[i]的地址,或者说,它们指向a数组的 第i个元素 。 (4) *(p+i)或*(a+i)是p+i或a+i所指向 的数组元素,即a[i]。 (5) 如果指针变量p1和p2都指向同一数组,如执行p2-p1, 结果是两个地址之差除以数组元素的长度
清华大学出版社 TSINGHUA UNIVERSITY PRESS 8.3.3通过指针引用数组元素 引用一个数组元素,可以用: (1)下标法,如a[i]形式; (2)指针法,如*(a+i)或*(p+i)。 其中a是数组名,p是指向数组元素的指针变量,其初 值p=a。 例8.5输出数组中的全部元素 假设有一个a数组,整型,有10个元素。要输出 各元素的值有三种方法:
8.3.3 通过指针引用数组元素 引用一个数组元素,可以用: (1) 下标法,如a[i]形式; (2) 指针法,如*(a+i)或*(p+i)。 其中a是数组名,p是指向数组元素的指针变量,其初 值p=a。 例8.5 输出数组中的全部元素 假设有一个a数组,整型,有10个元素。要输出 各元素的值有三种方法:
清华大学出版社 TSINGHUA UNIVERSITY PRESS ①1)下标法 #include <stdio. h void main () {inta[10]; Int for(i=0;i<10;i++ scanf ("%d",&ai) printf("、n") for(i=0:i<10:i++) printf ("od",aLi]
(1)下标法 #include <stdio.h> void main() { int a[10]; int i; for(i=0;i<10;i++) scanf(″%d″,&a[i]); printf(″\n″); for(i=0;i<10;i++) printf(″%d″,a[i]); }
清华大学版社 ②2)通过数组名计算数组元素地址,找出元素的值。 #include <stdio.h> void main ( {inta[10]; Int 1 for(i=0;i<10;i++) scanf (%o d", printf("、n") for(i=0;i<10:i++) printf ("%d",*(at
(2) 通过数组名计算数组元素地址,找出元素的值。 #include <stdio.h> void main() { int a[10]; int i; for(i=0;i<10;i++ ) scanf(″%d″,&a[i]); printf(″\n″); for(i=0;i<10;i++) printf(″%d″ , *(a+i)); }
清华大学出版社 TSINGHUA UNIVERSITY PRESS (3)用指针变量指向数组元素。 #include <stdio.h> void main () I int a[10J Int p, 1 for(i=0;i<10:i++) scanf ("%d",&a[il) printf (" n") for(p=a;p<(a+10);p++) printf ("%d",*p)
(3) 用指针变量指向数组元素。 #include <stdio.h> void main() { int a[10]; int *p,i; for(i=0;i<10;i++) scanf(″%d″,&a[i]); printf(″\n″); for(p=a;p<(a+10);p++) printf(″%d ″ , *p); }