C语言中不允许动态创建数组。不过我们可以用另外一种方式来实现,功能是一样的。
可以根据输入的数组长度来动态申请一段内存,然后数据就可以存放在这块内存上了,用法和数组一样。具体代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int len = 0, num = 0;
int i = 0;
int *a = NULL;
printf("\n请输入数组的长度: \n");
scanf("%d", &len);
a = malloc(sizeof(int)*len);
/* 测试: 给数组进行赋值 */
for (i=0; i<len; i++)
{
a[i] = i*2 + 10;
}
/* 测试: 输出数组中的数据 */
printf("数组中的数据如下: \n");
for (i=0; i<len; i++)
{
printf("%d ",a[i]);
}
printf("\n\n"); //换行
return 0;
}