c语言指针表示多维数组
时间: 2023-10-28 14:05:47 浏览: 107
C语言多维数组与指针
在 C 语言中,多维数组可以通过指针来表示。假设有一个二维数组 `arr`,可以用以下两种方式来定义和声明:
1. 使用数组类型:
```c
int arr[3][4]; // 定义一个 3 行 4 列的二维数组
```
2. 使用指针类型:
```c
int (*p)[4]; // 定义一个指向每行有 4 个元素的数组指针
```
其中,第二种方式中的 `(*p)` 表示一个指向数组的指针,而 `[4]` 表示每行有 4 个元素。这个指针可以通过指针运算来访问数组的元素。例如,可以使用以下代码来访问第二行第三列的元素:
```c
p = arr; // 将指针指向二维数组的首地址
int element = *(*(p + 1) + 2); // 访问第二行第三列的元素
```
上述代码中,`p + 1` 表示指向二维数组的第二行(下标从 0 开始),`*(p + 1)` 表示该行的第一个元素的地址,`*(p + 1) + 2` 表示该行的第三个元素的地址,`*(*(p + 1) + 2)` 表示该元素的值。
阅读全文