在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