>例:定义包含10个元素的整型数组a。输入然后输出数组中的全部元素。要求采用4种方法访问数组元素:(1)通过数组名和下标访问数组元素;(2)通过数组名和解引用访问数组元素;(3)通过指针变量和下标访问数组元素;(4)通过指针变量和解引用访问数组元素版权所有@陈暂保留所有权利26
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:定义包含10个元素的整型数组a。输 入然后输出数组中的全部元素。要求采 用4种方法访问数组元素: ◦(1) 通过数组名和下标访问数组元素; ◦(2) 通过数组名和解引用访问数组元素; ◦(3) 通过指针变量和下标访问数组元素; ◦(4) 通过指针变量和解引用访问数组元素。 26
(1)通过数组名和下标访问数组元素:#include <stdio.h>int main(Rint a[10]; int i;printf("enter 10 integer numbers: (n");for (i = 0; i < 10 i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++)printf("%d ", a[i]);版权所有?陈哲保留所有权利printf("\n")return O;27
版 权 所 有 © 陈 哲 保 留 所 有 权 利 (1) 通过数组名和下标访问数组元素: #include <stdio.h> int main() { int a[10]; int i; printf("enter 10 integer numbers: \n"); for (i = 0; i < 10; i++) scanf("%d", &a[i]); for (i = 0; i < 10; i++) printf("%d ", a[i]); printf("\n"); return 0; } 27
(2)通过数组名和解引用访问数组元素:#include <stdio.h>int main(3int a[10]; int i;printf("enter 10 integer numbers: (n");for (i = 0; i < 10 i++)scanf("%d", a+i):for (i = O; i < 10; i++)printf("%d ", *(a+i));版权所有?陈哲保留所有权利printf("\n")return O;28
版 权 所 有 © 陈 哲 保 留 所 有 权 利 (2) 通过数组名和解引用访问数组元素: #include <stdio.h> int main() { int a[10]; int i; printf("enter 10 integer numbers: \n"); for (i = 0; i < 10; i++) scanf("%d", a+i); for (i = 0; i < 10; i++) printf("%d ", *(a+i)); printf("\n"); return 0; } 28
(3)通过指针变量和下标访问数组元素:#include <stdio.h>int main(int a[io]; int i; int *p;printf("enter 10 integer numbers: (n");for (i = 0, p = a; i < 10; i++)scanf("%d",&p[i]);for (i = O, p = a; i < 10; i++)printf("%d ",p[i]);版权所有?陈哲保留所有权利printf("\n");return O;29
版 权 所 有 © 陈 哲 保 留 所 有 权 利 (3) 通过指针变量和下标访问数组元素: #include <stdio.h> int main() { int a[10]; int i; int *p; printf("enter 10 integer numbers: \n"); for (i = 0, p = a; i < 10; i++) scanf("%d", &p[i]); for (i = 0, p = a; i < 10; i++) printf("%d ", p[i]); printf("\n"); return 0; } 29
(4)通过指针变量和解引用访问数组元素:#include <stdio.h>int mainO1int a[10]; int *p;printf("enter 10 integer numbers: \n");for (p = a; p < (a + 10); p++)scanf("%d", p);for (p = a; p < (a + 10); p++)printf("%d ", *p);版权所有@陈暂保留所有权利printf("\n");return O;for (p=a+10; a<p; a++)printf("%d",*a);错!30
版 权 所 有 © 陈 哲 保 留 所 有 权 利 (4) 通过指针变量和解引用访问数组元素: #include <stdio.h> int main() { int a[10]; int *p; printf("enter 10 integer numbers: \n"); for (p = a; p < (a + 10); p++) scanf("%d", p); for (p = a; p < (a + 10); p++) printf("%d ", *p); printf("\n"); return 0; } 30 for (p=a+10; a<p; a++) printf(“%d ”,*a); 错!