第2节 - 指针与数组

指针与数组的关系

在 C 语言里,指针和数组紧密相关。数组名在多数表达式中会被隐式转换为指向数组首元素的指针。

指针访问数组元素

可以使用指针来访问数组的元素,下面是一个示例代码:


#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *ptr = arr;  // 指针指向数组首元素

    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, *(ptr + i));
    }

    return 0;
}

            

在上述代码中,`ptr` 是一个指向 `int` 类型的指针,它指向数组 `arr` 的首元素。通过 `*(ptr + i)` 可以访问数组的第 `i` 个元素。

数组名作为指针

数组名可以直接作为指针使用,下面是示例:


#include <stdio.h>

int main() {
    int arr[5] = {10, 20, 30, 40, 50};

    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, *(arr + i));
    }

    return 0;
}

            

这里 `arr` 被当作指针使用,`*(arr + i)` 和 `arr[i]` 是等价的。

回到课程目录