使用指针遍历数组

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

指针算术(Pointer arithmetic)指的是通过整数值对指针进行加法或减法运算。使用指针,我们可以向前或向后遍历数组。在本实验中,我们将学习如何在 C 语言中使用指针遍历数组。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("`C`")) -.-> c/BasicsGroup(["`Basics`"]) c(("`C`")) -.-> c/ControlFlowGroup(["`Control Flow`"]) c(("`C`")) -.-> c/CompoundTypesGroup(["`Compound Types`"]) c(("`C`")) -.-> c/PointersandMemoryGroup(["`Pointers and Memory`"]) c(("`C`")) -.-> c/FileHandlingGroup(["`File Handling`"]) c(("`C`")) -.-> c/UserInteractionGroup(["`User Interaction`"]) c/BasicsGroup -.-> c/variables("`Variables`") c/ControlFlowGroup -.-> c/for_loop("`For Loop`") c/CompoundTypesGroup -.-> c/arrays("`Arrays`") c/PointersandMemoryGroup -.-> c/pointers("`Pointers`") c/FileHandlingGroup -.-> c/create_files("`Create Files`") c/UserInteractionGroup -.-> c/output("`Output`") subgraph Lab Skills c/variables -.-> lab-123301{{"`使用指针遍历数组`"}} c/for_loop -.-> lab-123301{{"`使用指针遍历数组`"}} c/arrays -.-> lab-123301{{"`使用指针遍历数组`"}} c/pointers -.-> lab-123301{{"`使用指针遍历数组`"}} c/create_files -.-> lab-123301{{"`使用指针遍历数组`"}} c/output -.-> lab-123301{{"`使用指针遍历数组`"}} end

创建一个新的 C 文件

让我们在 ~/project/ 目录下创建一个名为 main.c 的新 C 文件。

#include<stdio.h>

int main() {

    return 0;
}

声明数组和指针

#include<stdio.h>

int main() {
    int arr[5] = {1,2,3,4,5}; // 声明一个大小为 5 的数组
    int *p; // 声明一个整型指针
    return 0;
}

将指针指向数组的第一个元素

#include<stdio.h>

int main() {
    int arr[5] = {1,2,3,4,5};
    int *p;
    p = arr; // 将指针指向数组的第一个元素
    return 0;
}

使用指针递增遍历数组

#include<stdio.h>

int main() {
    int arr[5] = {1,2,3,4,5};
    int *p;
    p = arr;
    for(int i=0; i<5; i++) {
        printf("%d ",*p); // 打印指针指向的值
        p++; // 将指针移动到下一个元素
    }
    return 0;
}

使用指针递减遍历数组

#include<stdio.h>

int main() {
    int arr[5] = {1,2,3,4,5};
    int *p;
    p = &arr[4]; // 将指针指向数组的最后一个元素
    for(int i=4; i>=0; i--) {
        printf("%d ",*p);
        p--; // 将指针移动到前一个元素
    }
    return 0;
}

总结

在本实验中,我们学习了如何在 C 编程语言中使用指针遍历数组。我们分别使用指针递增和递减来向前和向后遍历数组。

您可能感兴趣的其他 C 教程