c语言

c语言二维数组赋值给指针的方法是什么

小亿
301
2023-12-08 23:41:56
栏目: 编程语言

在C语言中,可以使用指针来访问和赋值二维数组。可以通过将二维数组的地址赋值给指针变量来实现。

下面是一个示例代码:

#include <stdio.h>

int main() {
    int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int (*ptr)[3]; // 声明一个指向含有3个int类型元素的一维数组的指针

    ptr = arr; // 将二维数组的地址赋值给指针

    // 通过指针遍历并访问二维数组的元素
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", *(*(ptr + i) + j));
        }
        printf("\n");
    }

    return 0;
}

在上面的示例中,arr是一个二维数组,ptr是一个指向含有3个int类型元素的一维数组的指针。通过将arr的地址赋值给ptr,就可以使用指针来访问和操作二维数组的元素。在循环中,使用*(*(ptr + i) + j)来访问二维数组的元素,其中ptr + i先找到二维数组的第i行,再通过+ j找到第i行的第j个元素,最后使用*解引用指针获取元素的值。

以上代码输出的结果为:

1 2 3 
4 5 6 
7 8 9 

0
看了该问题的人还看了