在C語言中,二維數組可以通過指針進行訪問和操作。但是,需要注意的是,指向二維數組的指針實際上是一個指向指針的指針。
以下是使用二維數組指針的一些常見操作示例:
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int (*ptr)[4]; // 定義一個指向包含4個元素的一維數組的指針
ptr = arr; // 將指針指向二維數組的第一行
int value = ptr[1][2]; // 訪問第二行第三列的元素,即7
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", *(*(ptr + i) + j)); // 輸出二維數組的所有元素
}
printf("\n");
}
void printArray(int (*arr)[4], int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
printArray(arr, 3, 4);
return 0;
}
希望以上示例能夠幫助你理解和使用C語言中的二維數組指針。