#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int len = sizeof(arr) / sizeof(arr[0]);  // 计算数组长度
    int *p = arr;  // 指针p指向数组首元素（等价于&arr[0]）
    int sum = 0;

    printf("数组元素：");
    for (int i = 0; i < len; i++) {
        printf("%d ", *(p + i));  // 通过指针偏移访问元素，等价于p[i]
        sum += *(p + i);
    }

    printf("\n数组元素的和：%d\n", sum);

    // 另一种遍历方式：指针自增
    printf("用指针自增遍历：");
    p = arr;  // 重置指针到首元素
    while (p < arr + len) {
        printf("%d ", *p);
        p++;  // 指针移动到下一个元素
    }
    printf("\n");

    return 0;
}
