c语言怎么得到动态分配的二级指针的二维数组的行数
时间: 2024-04-23 15:27:58 浏览: 79
要获取动态分配的二维数组的行数,可以通过以下步骤实现:
1. 首先,使用malloc函数动态分配一级指针数组,该数组的大小为行数。
```c
int **arr;
int rows = 4; // 假设有4行
arr = (int **)malloc(rows * sizeof(int *));
```
2. 然后,使用循环为每一行分配内存,并将其指针保存在一级指针数组中。
```c
int i;
for (i = 0; i < rows; i++) {
int cols = 3; // 假设每一行有3列
arr[i] = (int *)malloc(cols * sizeof(int));
}
```
3. 最后,通过变量rows就可以得到动态分配的二维数组的行数。
```c
printf("行数:%d\n", rows);
```
完整的示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int **arr;
int rows = 4; // 假设有4行
arr = (int **)malloc(rows * sizeof(int *));
int i;
for (i = 0; i < rows; i++) {
int cols = 3; // 假设每一行有3列
arr[i] = (int *)malloc(cols * sizeof(int));
}
printf("行数:%d\n", rows);
return 0;
}
```
输出结果为:
```
行数:4
```
希望这个示例对你有帮助!如果你还有其他问题,请随时提问。
阅读全文