c语言动态创建二维字符串数组
时间: 2023-09-13 15:07:40 浏览: 148
c语言中动态创建二维数组
5星 · 资源好评率100%
动态创建二维字符串数组可以使用指针数组和malloc函数来实现。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int rows, cols, i, j;
char **arr;
printf("Enter the number of rows: ");
scanf("%d", &rows);
printf("Enter the number of columns: ");
scanf("%d", &cols);
// Allocate memory for pointer array
arr = (char **)malloc(rows * sizeof(char *));
// Allocate memory for each row
for (i = 0; i < rows; i++) {
arr[i] = (char *)malloc(cols * sizeof(char));
}
// Initialize array elements
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
arr[i][j] = 'A' + i + j;
}
}
// Print array elements
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%c ", arr[i][j]);
}
printf("\n");
}
// Free memory
for (i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
该程序首先要求用户输入数组的行和列数,然后使用malloc函数分配指针数组和每行的内存空间。接下来,它初始化数组元素并打印它们。最后,程序释放动态分配的内存。
在上面的示例代码中,我们使用了char类型的二维数组,但此方法也可以用于其他类型的二维数组。
阅读全文