二维的动态数组
#include <stdio.h>
#include <stdlib.h>int main()
{
int n1, n2, i, j;
int **array;
scanf("%d",&n1);
scanf("%d",&n2);
array=(int**)malloc(n1*sizeof(int));
for(i=0;i<n1;i++)
{
array[i]=(int*)malloc(n2*sizeof(int));
}
for(i=0;i<n1;i++)
{
for(j=0;j<n2;j++)
{
array[i][j]=j;
printf("%d",array[i][j]);
}
printf("\n");
}
for(i=0;i<n1;i++)
{
free(array[i]);
}
free(array);
return 0;
}
当需要改变动态数组的长度时
#include <stdio.h>
#include <stdlib.h>
{
int n1, n2, i, j;
printf("请输入数组的长度: ");
scanf("%d",&n1);
int *array;
array=(int *)malloc(n1*sizeof(int ));
for(i=0;i<n1;i++)
{
array[i]=i;
printf("%d ",array[i]);
}
printf("\n");
printf("请输入改变之后数组的长度: ");
scanf("%d",&n2);
array=(int *)malloc(n2*sizeof(int));
for(i=0;i<n2;i++)
{
array[i]=i;
printf("%d ",array[i]);
}
free(array);
return 0;
}