在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