随笔 - 6  文章 - 0 评论 - 0 阅读 - 141
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

指针数组和数组指针

对于指针数组和数组指针的概念,下面是简要的解释:

指针数组(Pointer array)是指一个数组,其中的每个元素都是指针。这意味着数组中存储的是指针值,每个指针可以指向不同的内存地址。例如,int *ptrArray[5]; 声明了一个包含5个元素的指针数组,每个元素都是一个 int 指针。

数组指针(Array pointer)是指一个指针,它指向一个数组。这意味着指针指向了整个数组的起始位置,可以通过指针访问整个数组。例如,int (*ptr)[5]; 声明了一个指针,它指向一个包含5个 int 元素的数组。

下面是一个使用指针数组和数组指针的示例:

#include <stdio.h>

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

    for (int i = 0; i < 5; i++) {
        ptrArray[i] = &arr[i];   // 指针数组存储每个元素的地址
    }

    ptr = &arr;   // 数组指针指向整个数组

    // 通过指针数组访问数组元素
    for (int i = 0; i < 5; i++) {
        printf("Element %d: %d\n", i, *(ptrArray[i]));
    }

    // 通过数组指针访问数组元素
    for (int i = 0; i < 5; i++) {
        printf("Element %d: %d\n", i, *(*ptr + i));
    }

    return 0;
}

这个示例展示了如何使用指针数组存储每个元素的地址,以及如何使用数组指针访问整个数组的元素。输出将会显示数组中的元素值。

posted on   BAG225  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示