c语言二维数组不知道输入多少列数
时间: 2024-12-15 10:16:07 浏览: 3
c语言二维数组初始化及示例代码.zip
在C语言中,如果不确定二维数组的列数,可以采用动态内存分配的方式来创建二维数组。通常做法是在程序运行时根据用户输入或者其他条件确定列数。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 5 // 固定行数
int main() {
int rows = ROWS; // 行数已知
int *columns; // 存储列数的指针
printf("请输入每行的列数:");
scanf("%d", &columns[0]); // 读取用户输入,假设只有一个元素
// 动态分配二维数组
int **array = (int **)malloc(rows * sizeof(int *));
for (int i = 0; i < rows; i++) {
array[i] = (int *)malloc(columns[i] * sizeof(int));
}
// 现在你可以使用array来存储数据,例如:
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns[i]; j++) {
array[i][j] = i * rows + j;
printf("%d ", array[i][j]);
}
printf("\n");
}
// 使用完后记得释放内存
for (int i = 0; i < rows; i++) {
free(array[i]);
}
free(array);
return 0;
}
阅读全文