C语言定义未知长度的数组

2025-03-09 21:54:21
推荐回答(2个)
回答1:

首先确认你的编译器是否支持C99的vla特性,如果支持,那么直接用上面的代码就可以了

如果不支持只好使用malloc的动态内存分配来实现

scanf("%d",&n);
int *a=(int *)malloc(sizeof(int)*n+1);
a[0]=xxx;
...
a[n]=xxx;

回答2:

等到用户输入的行数列数以后,用malloc分配内存,得到指针就行了.