阅读量:1
在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