利用C语言指向二维数组的指针输出二维数组全部元素
时间: 2023-11-14 17:07:14 浏览: 219
可以利用两级指针来指向二维数组,然后通过循环输出数组的全部元素。下面是一个示例代码:
```c
#include <stdio.h>
void printArray(int **arr, int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int rows = 3;
int cols = 4;
int arr[rows][cols] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
// 将二维数组转化为指向指针数组的指针
int *p[rows];
for (int i = 0; i < rows; i++) {
p[i] = arr[i];
}
// 通过指向指针数组的指针输出二维数组全部元素
printArray(p, rows, cols);
return 0;
}
```
输出结果为:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
相关问题
C语言指针指向二维数组
指针是一种变量,它存储着另一个变量的地址。在C语言中,我们可以使用指针来访问数组的元素。对于二维数组来说,我们可以定义一个指向数组的指针,然后使用它来访问数组元素。语法上,我们可以这样定义一个指向二维数组的指针:int(*p)[n];其中,p是一个指向一维数组的指针,数组中每个元素都是一个大小为n的int类型数组。这样定义之后,我们就可以使用指针来访问数组元素,例如(*p)[i]表示数组中第i个元素。
c语言中定义一个指向二维数组的指针 数组
在C语言中,定义一个指向二维数组的指针数组可以使用以下语法:
```c
int (*ptr)[n]; // ptr是一个指向int类型n列的二维数组的指针
```
这里的`n`代表数组每行的元素个数。通过这个指针,可以访问二维数组中的元素。例如:
```c
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
ptr = arr; // 将ptr指向arr数组
// 访问二维数组中的元素
printf("%d", ptr[0][1]); // 输出2
printf("%d", ptr[1][2]); // 输出6
```
需要注意的是,这里的指针数组指的是一个指针,而这个指针指向的是一个二维数组。
阅读全文