新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

c语言二维数组指针如何表示,c语言二维数组初始化为0

发布时间:2023-10-27 04:03:28

c语言二维数组指针如何表示

在C语言中,可使用指向二维数组的指针来表示二维数组。

假定有一个二维数组arr,声明并初始化以下:

int arr[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

可以定义一个指向二维数组的指针ptr,指向arr的开头,以下:

int (*ptr)[4] = arr;

这里的(*ptr)[4]表示ptr是一个指针,指向一个大小为4的一维数组。

对二维数组arr,可以通过指针ptr来访问其中的元素,以下:

printf("%d", *(*ptr + 2));  // 输出3

这里的*(*ptr + 2)表示先解援用ptr,得到指向一维数组的指针,然后再将该指针加2,最后再解援用得到元素值。

同时,也能够通过指针ptr来遍历全部二维数组,以下:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", *(*(ptr + i) + j));
    }
    printf("
");
}

这里的*(*(ptr + i) + j)表示先将ptr加i,得到指向一维数组的指针,再将该指针加j,最后解援用得到元素值。通过两重循环遍历可以输出全部二维数组的元素。